【发布时间】:2018-02-03 16:39:25
【问题描述】:
我有一个带有调用 C# 方法的按钮的 aspx 页面。按钮属性如下:
<asp:Button ID="btnSubmit" runat="server" Text="Search" OnClientClick="BuildTheYear()" />
当我单击按钮时,我运行我的 javascript,最后一步是调用 C# protected void Button1_Click(string caseNumber) 方法。
为此,我尝试使用javascript:
function BuildTheYear() {
var year = document.getElementById('cYear').value;
if (year.length != 4) {
alert('Please enter a 4 digit year only');
return;
}
var number = document.getElementById('cNumber').value;
var checkNumberValue = (number.charAt(0));
if (checkNumberValue === "0") {
alert('Please do not enter any zero (0) values before the case number!');
return;
}
var SearchNumber= year + "-" + number;
$.ajax({
type: "POST",
url: "Home.aspx/Button1_Click",
data: "{s:SearchNumber}",
contentType: "application/json; charset=utf-8",
dataType:"json"
})
return;
}
我做了一些数据验证,以确保最终结果是我需要的,并且一切都适合我,我最终得到了一个名为 year 的变量,其格式为 2017-123456。我想获取这个变量并将其传递给 C# 方法,如下所示:
protected void Button1_Click(string caseNumber)
{
if (CheckCaseNumber(caseNumber))
{
Response.Redirect("~/Forms/InvWithTips2?CaseNumber=" + caseNumber, true);
}
else
RadAjaxManager1.ResponseScripts.Add(string.Format("window.radalert(\"That casenumber was not found. Please enter valid case number!\")"));
}
然后,这些方法将打开另一个 aspx Web 表单,将我的 javascript 构建的字符串作为查询字符串传递。
我正在使用 Visual Studio,当我运行应用程序并单击提交按钮时,系统提示我输入我的域凭据,但没有任何反应。我在方法上设置了一个断点,但我没有到达那里。
任何帮助将不胜感激。
【问题讨论】:
标签: javascript c# asp.net ajax asp.net-ajax