コンボコントロールのTextプロパティなどに、単一レコードを連結するとエラーが発生する
対象製品
InputMan for .NET 2.0J Web Forms Edition
発生環境
動作環境と同じ
状況
修正済み
詳細
データ接続において、ASP.NETのデータバインドコントロールに配置したコンボコントロールのTextプロパティやValueプロパティなどに、単一レコードを連結するとエラーが発生します。
回避方法
この問題は改定第1版(v2.0.2007.622)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。
改定第1版より前のバージョンでは次の方法で回避可能です。
HiddenFieldコントロールを使用します。
【サンプルコード】
------------------------
HTMLコード
------------------------
<asp:FormView ID="FormView1" runat="server" DataSourceID="AccessDataSource1">
<ItemTemplate>
<im_combo:Combo ID="Combo1" runat="server" />
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Bind("氏名") %>' Visible="true" />
</ItemTemplate>
</asp:FormView>
------------------------
Webフォームクラス(VB)
------------------------
Protected Sub FormView1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles FormView1.DataBound
Dim cmb As Combo = CType(FormView1.FindControl("Combo1"), Combo)
Dim hf As HiddenField = CType(FormView1.FindControl("HiddenField1"), HiddenField)
cmb.Text = hf.Value
End Sub
------------------------
Webフォームクラス(C#)
------------------------
protected void FormView1_DataBound(object sender, EventArgs e)
{
Combo cmb = (Combo)FormView1.FindControl("Combo1");
HiddenField hf = (HiddenField)FormView1.FindControl("HiddenField1");
cmb.Text = hf.Value;
}
不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。
改定第1版より前のバージョンでは次の方法で回避可能です。
HiddenFieldコントロールを使用します。
【サンプルコード】
------------------------
HTMLコード
------------------------
<asp:FormView ID="FormView1" runat="server" DataSourceID="AccessDataSource1">
<ItemTemplate>
<im_combo:Combo ID="Combo1" runat="server" />
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Bind("氏名") %>' Visible="true" />
</ItemTemplate>
</asp:FormView>
------------------------
Webフォームクラス(VB)
------------------------
Protected Sub FormView1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles FormView1.DataBound
Dim cmb As Combo = CType(FormView1.FindControl("Combo1"), Combo)
Dim hf As HiddenField = CType(FormView1.FindControl("HiddenField1"), HiddenField)
cmb.Text = hf.Value
End Sub
------------------------
Webフォームクラス(C#)
------------------------
protected void FormView1_DataBound(object sender, EventArgs e)
{
Combo cmb = (Combo)FormView1.FindControl("Combo1");
HiddenField hf = (HiddenField)FormView1.FindControl("HiddenField1");
cmb.Text = hf.Value;
}
キーワード
INME06058
この文書は、以前は次のバグレポートIDで公開されていました : 6965