我的 ASPX 页面中有一个 HTML 输入框,如下所示
<input id="txtID" runat="Server" type="text" />
现在我有一些用 C# 代码隐藏编写的代码,用于计算一个值,我希望该值显示在上面的文本框中。
我已经尝试过了
txtID.Value = Number.ToString();
and
HtmlGenericControl ct = new HtmlGenericControl();
ct.InnerHTML = Number.ToString();
txtID.Controls.Add(ct);
但以上两者似乎都没有设置文本框的显示文本。
谁能帮我弄清楚如何完成它。
我无法使用
<asp:TextBox />
编辑(有正确答案):我最初尝试做的方式是正确的,即
txtID.Value = Number.ToString();
罪魁祸首是占位符插件,它被调用并删除了文本框中的值。希望这能帮助很多像我一样被困在这些愚蠢地方的人。
您可以通过在 PageLoad 或 PageInit 上注入 Javascript 来更改控件的值。说啊GetValueDummy()
method 是计算值的方法,并且您正在使用 jQuery。
您需要将 javascript 注入到 Page.Load 处理程序中的页面。
protected void Page_Load(object sender, EventArgs e)
{
var script = "$('#txt').val('" + GetValueDummy() + "');";
ClientScript.RegisterStartupScript(typeof(string), "textvaluesetter", script, true);
}
在此代码中,txt 是您输入的 id。
如果您不使用 jQuery,只需将脚本变量的值替换为
var script = "document.getElementById('txt').value = '" + GetValueDummy() + "';";
过了某个时间点,您的页面将完全呈现并准备发送给客户端。所以你不能直接从c#修改它。您可以在此处阅读有关页面生命周期的更多信息:http://msdn.microsoft.com/en-us/library/ms178472.aspx http://msdn.microsoft.com/en-us/library/ms178472.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)