日期:2014-05-17 浏览次数:20686 次
protected string GetSType()
{
string SamType = "";
DataSet ds = CommonDAL.NoPager("", "SELECT SAMPLE_TYPE FROM CHECK_TASK WHERE RSTATE='1' AND TASK_NO='" + this.txtTaskNo.Text + "'");
if (ds.Tables[0].Rows.Count > 0)
{
SamType = ds.Tables[0].Rows[0]["SAMPLE_TYPE"].ToString();
}
return SamType;
}
function GetEntInfo()
{
var TaskNo=document.getElementById(" <%=txtTaskNo.ClientID%>").value;
if (TaskNo == ""){
alert("请您先填写任务编号!");
return false;
}
var tye=" <%=GetSType() %>";
alert(tye);
creatWindow();
w1.setText("选择企业信息");
w1.attachURL("GetEntInfo.aspx?SamType="+tye+"&rdt="+ Date());
}
[AjaxPro.AjaxMethod]
public string GetSType(string txt)//ajaxpro方法里不能用控件,你只能再js里将text控件取出来然后以参数形式带过来
{
string SamType = "";
DataSet ds = CommonDAL.NoPager("", "SELECT SAMPLE_TYPE FROM CHECK_TASK WHERE RSTATE='1' AND TASK_NO='" + txt + "'");
if (ds.Tables[0].Rows.Count > 0)
{
SamType = ds.Tables[0].Rows[0]["SAMPLE_TYPE"].ToString();
}
return SamType;
}
------解决方案--------------------
后台方法加public static
加上[System.Web.Services.WebMethod]
前台用AJAX调用。
var params = '{str:"'+$(this).val()+'"}'; //参数,参数名要和后台方法名字一样
$.ajax({
type: "POST",
url: "页面/方法名",
data: params,
dataType: "text",
contentType: "application/json; charset=utf-8",
success: function(msg) { //msg就是方法返回值
//这里是请求成功做的操作
},
error: function(xhr, msg, e) {
这里是失败了
}