我有一个只有1页的简单网站,其中只有1个字段和一个提交按钮。
它要求输入电话号码并使用表单中捕获的电话号码值调用存储过程。提交后,它会反馈用户说该号码已被提交,并保留在页面上,以便用户可以输入另一个电话号码。
所以我创建了一个如下所示的cshtml文件:
@{
string pn=Request.Form["pn"]
and then my code to call the stored procedure with pn as a parameter
}
我遇到的问题是,当我转到此页面时,服务器端会抛出一个错误,指出存储过程需要一个未提供的参数。
因此,我想创建一个JavaScript函数,该函数将运行页面onload
,只有在pn
有值时才会调用存储过程。
我该怎么做,我应该在哪里放置代码(JS在@{}
块内?)
答案 0 :(得分:1)
首先,您不需要JavaScript函数来验证输入客户端,而是需要服务器端代码来测试表单是否已提交以及您的字段中是否存在有效值。
类似的东西:
@{
if (IsPost)
{
string pn=Request.Form["pn"];
if (!string.IsNullOrEmpty(pn)){
/* your code to call the stored procedure */
}
}
}
如果您想深化此主题,请查看本教程:Introduction to Working with a Database in ASP.NET Web Pages (Razor) Sites。