相信大家在做itoo的时候都用过ajax异步提交数据,好处自然不言而喻,数据提交页面不会闪屏;页面局部更新速度快;网络带宽占用低。而表单提交则整个页面重绘。如果表单提交后跳转到另一个页面获取数据这种情况,采用传统的form表单提交和利用ajax进行表单提交都是可以实现的。
首先来说传统的form表单提交:
HTML代码:
<form id ="fm" method="post" action="/SearchInfo/QueryMoreInfo" >
<div>
<table id="searchInfo" style="width: auto; height:auto; margin: 8px" title="基本信息" iconcls="icon-edit">
</table>
<input id ="setGuid" name="setGuid" type="hidden">
</div>
</form>
js代码:
//点击详情方法
function moreInfo(index) {
$('#searchInfo').datagrid('selectRow', index);// 关键在这里
var row = $('#searchInfo').datagrid('getSelected');//,获取选中行
document.getElementById("setGuid").value = row.b_basicInformationNumber;//主键赋值给input
document.getElementById("fm").submit();//表单提交
};
在form表单中的input隐藏域的值就可以在后台进行接收了:
//获取rowID
string rowid=Request.Form["setGuid"].ToString();
第二种是ajax提交表单:
$.ajax({
type: "POST",
url:"SearchInfo/QueryMoreInfo",
data:$('#fm').serialize(),// 序列化表单值
async: false,
error: function(request) {
alert("Connection error");
},
success: function(data) {
window.location.href="跳转页面"
}
});
后台可以使用request.getParameter("setGuid")来获取到值。