c# - 使用 C# 设置 HTML 输入文本框的显示文本

标签 c# asp.net html html-input

我的 ASPX 页面中有一个 HTML 输入框,如下所示

<input id="txtID" runat="Server" type="text" />

现在我有一些用 C# codebehind 编写的代码来计算一个值,我希望该值显示在上面的 TextBox 中。

我已经试过了

txtID.Value = Number.ToString();

HtmlGenericControl ct = new HtmlGenericControl();
ct.InnerHTML = Number.ToString();
txtID.Controls.Add(ct);

但是上面两个好像都没有设置文本框的显示文字。

谁能帮我弄清楚如何完成它。 我不能使用

<asp:TextBox />

编辑(正确答案): 我最初尝试做的方式是正确的,即

txtID.Value = Number.ToString();

罪魁祸首是 Placeholder Plugin,它被调用并从 TextBox 中删除值。希望这能帮助很多像我一样被困在这些愚蠢地方的人。

最佳答案

您可以通过在 PageLoad 或 PageInit 上注入(inject) Javascript 来更改控件的值。只要说 GetValueDummy() 方法是您计算值的方法,并且您正在使用 jQuery。

您需要在 Page.Load 处理程序中向页面注入(inject) javascript。

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

关于c# - 使用 C# 设置 HTML 输入文本框的显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9148161/

相关文章:

c# - 在 C# 中使用参数执行命令行 .exe

c# - MVC3 集合的 ValidationMessage

c# - 在每一行中查找单词 c#

c# - 如何索引 C# Dictionary 的 Values 属性

javascript - 如何停止在 Jquery 中克隆属性或标记

asp.net - 在ASP.NET中,获取请求的基本URl的最快方法是什么?

c# - 完全卡住了,简短地在标题中解释,涵盖了 c# asp.net 控件和 html 代码以及一点 javascript

c# - 从 C# 代码后面将值传递给 Javascript 函数

html - 谁能告诉我页脚和社交链接条纹之间出现的空白是什么?

html - 为什么悬停在 css/html 中不允许我更改另一个 div 的样式?