问题1) 我有一个控件,我通过使用如下句子从服务器端添加属性:
ControlName.Attributes.Add("myTestAttribute", "")
从客户端我使用Javascript函数修改此属性的值:
Document.getElementById(ControlName).setAttribute("myTestAttribute", “Hello Server!!”);
我的问题是,当我尝试访问Postback处理函数的属性值时,该属性为空。 我错过了一些步骤吗?
问题2) 是否可以从Postback处理函数内部获取服务器端页面的完整HTML代码?
答案 0 :(得分:1)
如果javascript修改页面上的elemants,它们将不会对服务器可见。发生回发时,服务器可用的唯一数据是页面上表单中发送的数据。
ASP.net通过将其值放入名为viewstate的隐藏字段来处理标准表单元素(如文本框,下拉列表等)(这通常是编码的,因此无法直接读取)。
如果您希望javascript修改的页面元素对服务器可见,您可以编写新的隐藏表单元素并从Request [string name]数组中检索它们。
答案 1 :(得分:0)
答案 2 :(得分:0)
在回答问题2时,如果您想在回发后知道其值,可以在视图状态中保留这些属性的状态。