AjaxPro实例用法
第一步:
在页面加载的方法添加:AjaxPro.Utility.RegisterTypeForAjax(typeof(XC_Web.Frame.detectionManager.DetectReport));
第二步:
在页面后台代码中写ajaxpro方法:
#region 判断检测报告是否存在附件
[AjaxPro.AjaxMethod]
public Int32 ifExist(Int32 DeteID)
{
T_DC_DECTREPORT prot = new T_DC_DECTREPORT();
prot.DETECT_ID = DeteID;
var result = prot.GetService().GetObjectList<T_DC_DECTREPORT>();
return result.Count;
}
#endregion
后台获取参数的值:
HiddenDeteID.Value = Request.QueryString["DeteID"].ToString();
注意:因为Ajaxpro方法不支持服务端控件,所以,在该方法中,参数要从前台传入,而且方法中不能用到服务端控件,例如:HiddenField控件,Request.QueryString(),所以该方法获取到的值也需要到前台中进行判断!
第三步:前台操作
1:获取ajaxpro方法参数的值
<script type="text/javascript" language="javascript">
var checkform = function () {
var deteid = $("#HiddenDeteID").val();----------用Jquery的方法获取参数的值
var result = XC_Web.Frame.detectionManager.DetectReport.ifExist(deteid).value;-----前台调用后台Ajaxprod的方法,并获取返回值!
if (result <= 0) { ----------在前台中进行返回值得判断,因为在后台需要一个容器来存储判断的值,但是ajaxpro又不支持服务端控件,所以无法找到一个合适的控件进行存储
var fileValue = $("input[ name='AffixName']").val();
if (fileValue == "" || fileValue == null) {
top.Dialog.alert("请您先选择文件,然后再保存");
return false;
}
}
return true;
}
</script>
2:调用前台的javascript方法
<asp:Button ID="btnSubmit" runat="server" Text="保存并返回" Width="80px" OnClientClick="return checkform();" CssClass="blueButtonCss"OnClick="btnSubmit_Click" />