如果我有一个标准的HTML文本框:我可以使用Request.Form检索该值。
但是如何从服务器端填充此文本框呢?我试过了
Request.Form["txtTest"] = "blah";
但是出现了一个只读错误。
答案 0 :(得分:2)
如果您希望通过服务器端的id(根据.net控件)获得访问控件的一流支持,则需要使其具有runat =“server”标记。
否则,您可以通过在代码中包含属性并使用数据绑定在aspx页面上从中提取值来动态设置值。
<input type=text value="<%=PropertyInCodeBehindClass %>" />
和
public string PropertyInCodeBehindClass
{
get;
set;
}
答案 1 :(得分:0)
请记住,在运行服务器代码时,客户端文本框不存在。托管该控件的html页面已作为新的请求提交给服务器,并且Web浏览器希望您回复一个全新的页面。在响应到达之前,浏览器将显示页面,但这只是一个方便的shell。保存文本框的DOM已经消失,您还没有创建新的文本框。您无法通过更新请求中的属性来直接更改您的响应。
这意味着您需要使用控件的服务器端表示。如果它是服务器控件,您可以尝试txtTest.Text = "blah";
否则,您需要找到生成该输入标记的位置并适当地改变它。
总是两个;不多也不少。请求和回复。