我的aspx页面上有一个html控件
<td>
<input type="text" id="txtSubCode1" name="txtSubCode1" value="<%# this._SubCodeHeader1 %>" />
</td>
在我的代码后面我有属性
protected string _SubCodeHeader1 { get; set; }
当为_SubCodeHeader1分配新值时,是否可以刷新html控件?基本上我的html控件从不显示分配给_SubCodeHeader1的值。我想在不使用runat
的情况下从代码后面设置html控件的值答案 0 :(得分:0)
您应该将<%# this._SubCodeHeader1 %>
更改为<%= this._SubCodeHeader1 %>
如果你想设置值而不做任何额外的事情。
此语句<%#
仅在调用控件DataBind()
方法或父控件的DataBind()
方法时运行。
答案 1 :(得分:0)
您需要在每次回发时调用 DataBind 。 例如 -
<input type="text" id="txtSubCode1" name="txtSubCode1"
value="<%# this._SubCodeHeader1 %>" />
<asp:Button runat="server" ID="Button1" Text="Submit" OnClick="Button1_Click" />
public partial class Default : System.Web.UI.Page
{
protected string _SubCodeHeader1 { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
_SubCodeHeader1 = DateTime.Now.ToString();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
_SubCodeHeader1 = DateTime.Now.ToString();
}
protected void Page_PreRender(object sender, EventArgs e)
{
DataBind();
}
}