当前位置: 代码迷 >> ASP.NET >> post提交,后台接收到的值不能给服务器控件赋值?该怎么处理
  详细解决方案

post提交,后台接收到的值不能给服务器控件赋值?该怎么处理

热度:1478   发布时间:2013-02-26 00:00:00.0
post提交,后台接收到的值不能给服务器控件赋值?
C# code
Default.aspx:            <div id="txt" runat="server"> </div>            $.post("Default.aspx","id:100",function(){},"json");Default.aspx.cs:            protected void Page_Load(object sender, EventArgs e)           {                   txt.InnerHtml = "1";    //可以                          if (Request.Form.Count == 1)                  {                       txt.InnerHtml = "2";  //不可以                       Response.End();                  }           }问题在post提交如何能让服务器控件txt成功赋值?求高手解答啊


------解决方案--------------------------------------------------------
Page_Load()里面,
一般要用到
if(!isPostBack){}
你先好好查查他的意义。
------解决方案--------------------------------------------------------
你如果不是用Ajax的话,把Response.End();这个方法去掉,终止该页的执行了,页面的内容不能输出当然看不到赋值后的内容。
------解决方案--------------------------------------------------------
探讨

$.post("Default.aspx","id:100",function(result){
$("#txt")(result)
},"json");


protected void Page_Load(object sender, EventArgs e)
{

Response.Write("1")……

------解决方案--------------------------------------------------------
。。。。Response.Write 输出

赋值 在 function里用JS
------解决方案--------------------------------------------------------
正确的方法
<div id="txt"></div>
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$.post('Default.aspx', { id: 100 }, function (data) {
$("#txt")(data)
});
</script>



protected void Page_Load(object sender, EventArgs e)
{
if (Request.RequestType == "POST")
{
Response.ClearContent();
Response.Write(Request.Form["id"]);
Response.End();
}
}


------解决方案--------------------------------------------------------
这样好像是不行的哦
可以再post的回调函数中处理
 $.post("Default.aspx","id:100",function(result)
{
//这里处理
//...
},"json");
  相关解决方案