我有两个文本框和一个下拉列表的自定义控件。我想让它成为双向数据绑定,所以当我把它放入ie时。详细信息查看此控件:
<asp:MyCustomControl ID="MyId" runat="server" Value1='<%# Bind("val1") %>'>
</asp:MyCustomControl>
然后它应该像普通的TextBox一样工作..
在我的控制中,我Value1
定义了:
[
Bindable(true, BindingDirection.TwoWay),
Browsable(true),
DefaultValue(0),
PersistenceMode(PersistenceMode.Attribute)
]
public double Value1
{
get
{
if(ViewState["Value1"]==null)
return 0;
return (double)ViewState["Value1"];
}
set
{
ViewState["Value1"] = value;
}
}
我希望这个控件保持简单。
我错过了什么?
答案 0 :(得分:0)
我找到了某种解决方法。控件中的属性(ascx.cs)现在看起来像这样:
private double _value = 0;
[
Bindable(true, BindingDirection.TwoWay),
Browsable(true),
DefaultValue(0),
PersistenceMode(PersistenceMode.Attribute)
]
public double Value
{
get
{
double d = 0;
Double.TryParse(ValueControlTextBox.Text,out d);
return d;
}
set
{
ValueControlTextBox.Text = String.Format("{0:0.00}", value);
_value = value;
}
}
这就是我需要的。