读书人

ASP.NET 里如何实现无刷新提交数据

发布时间: 2013-10-12 11:54:02 作者: rapoo

ASP.NET 里怎么实现无刷新提交数据
初学者求一个例子,越详细越好。求大神 asp.net Ajax
[解决办法]
ajax 或者 updatepanel
[解决办法]
如果只是提交的话,研究一下jquery的$.ajax,很简单的。
[解决办法]
控件列表里拖个scriptmanager,在拖个updatepanel,在panel里放你想异步提交的东西,放个button啥的,写上提交代码,好了
[解决办法]

引用:
ajax 或者 updatepanel

正解
[解决办法]
ajax,iframe
[解决办法]
ajax就可以实现
[解决办法]
jquery ajax:
$.post、$.get、$.ajax
例:
$.post("url", { param1:"param1", param2: "param2" }, function (data) {

})
[解决办法]
下面的代码实现了无页面刷新,DropDownList控件二级联动

$("#<%= ddlProvince.ClientID %>").change(function () {
var parent = $(this).val();
$.ajax({
url: 'GetRegionList.ashx?Parent=' + parent + '&Type=1',
type: "get",
success: function (str) {
$("#<%= ddlCity.ClientID %>").empty();
var names = eval(str);
for (var i = 0; i < names.length; i++) {
$("#<%= ddlCity.ClientID %>").append($("<option value='" + names[i].ID + "'>" + names[i].Name + "</option>"));
}
}
});
});


GetRegionList.ashx后台代码

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";

string strParent = context.Request.QueryString["Parent"].ToString();
string strType = context.Request.QueryString["Type"].ToString();

DataTable dtNames = DbHelper.GetRegionNames(strParent, strType);

context.Response.Write(TransformJson(dtNames));
context.Response.End();
}

private string TransformJson(DataTable dtNames)
{
StringBuilder Json = new StringBuilder();

Json.Append("[");

int Count = dtNames.Rows.Count;
for (int i = 0; i < Count;i++ )
{
Json.Append("{ Name:'");
Json.Append(dtNames.Rows[i]["name"].ToString());
Json.Append("',ID:");
Json.Append(dtNames.Rows[i]["id"].ToString());
Json.Append("}");

if (i < Count - 1)
Json.Append(",");
}

Json.Append("]");
string str = Json.ToString();
return Json.ToString();
}


上面C#代码中的DbHelper是我自己写的数据库类,代码就没什么好贴出来的了
[解决办法]
ajax异步或者直接套个控件updatepanel

http://blog.csdn.net/porschev/article/details/5943579
[解决办法]
引用:
ajax异步或者直接套个控件updatepanel

http://blog.csdn.net/porschev/article/details/5943579


jquery,ajax我摸都没摸过。。。
[解决办法]
楼上的答案都是正解 支持

[解决办法]
<form id="form1" runat="server" enctype="multipart/form-data" onsubmit="javascript:return checkForm(this)">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:HiddenField ID="Hidden1" runat="server" />
<asp:HiddenField ID="Hidden2" runat="server" />

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="btnAdd" />
<asp:PostBackTrigger ControlID="btnUpdate" />
</Triggers>
<ContentTemplate>
<fieldset>
<legend>信息</legend>
<br />
这里放asp.net控件
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>

<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
<div style="position: fixed; left: 40%; top: 40%;">
<table style="height: 60px; width: 260px; vertical-align: middle; background-color: Transparent"
border="0px" cellpadding="0px" cellspacing="0px">
<tr>
<td align="center">
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/loading.gif" />
</td>
</tr>
<tr>
<td align="center">
系统处理中,请稍后...
</td>
</tr>
</table>
</div>
</ProgressTemplate>
</asp:UpdateProgress>
</div>
</form>
[解决办法]
人家都说了不用updatepanel,可以直接用用js写一个方法,这个方法就是用来绑定数据的(ajax+json就可以绑定),然后更新了之后直接调用这个方法就可以做到无刷新了啊

读书人网 >asp.net

热点推荐