我创建了网页,因为我在.aspx文件中使用了javascript。
我有一个保存按钮,但在源代码中我使用了javascript for save按钮,我在其中声明了一个名为OnClientClick="javascript : validateTextTest()"
的函数,在源代码的头部我调用了这个函数validateTextTest()
。
以下是源代码中的保存按钮:
<asp:Button ID="Save" runat="server"
onclick="Save_Click" Text="Save"
OnClientClick="javascript : validateTextTest()" Width="63px" />
现在我需要在.cs文件的保存按钮中调用函数validateTextTest()
。因为我有两到三个文本框,如果我从三个文本框中留下一个texbox,它就不应该插入到DB中。
请告诉我如何在.cs文件中调用该函数。
答案 0 :(得分:0)
在做这些事情时,你可以使用asp.net验证控件,为了你的目的,你需要为每个TextBox提供一个RequieredFieldValidator,你可以使用它们,如下面的代码:
<asp:TextBox ID="txtISBN" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RQVISBN" runat="server" ErrorMessage="*" ControlToValidate="txtISBN"></asp:RequiredFieldValidator>
这些控件很棒!他们会根据您的需要在clientSide上进行验证;)
答案 1 :(得分:0)
validateTextTest是您的javascript函数,在提交给服务器之前,您可能会将其用于某些客户端验证。所以我不认为你真的应该在你的服务器端代码(.cs文件)中使用客户端功能来验证输入。您还应该在服务器端代码中进行相同的验证。像这样的东西
if((!String.IsNullOrEmpty(TextBox1.Text)) &&
(!String.IsNullOrEmpty(TextBox1.Text)) &&
(!String.IsNullOrEmpty(TextBox1.Text)))
{
// Insert to DB
}
else
{
//Show validation error message
}
答案 2 :(得分:0)
首先,您需要定义正在使用的技术堆栈。是ASP.NET还是MVC。
我假设您正在使用ASP.NET。鉴于您已经开始编写此应用程序的方式。您将需要做一些事情来使您的方法工作。
<form name="myform">
<asp:HiddenField runat="server" id="validRequest"/>
<script type="text/javascript">
function validateTextTest() {
//validation goes here
var validRequest = document.getElementById(<%#validRequest.ClientID%>);
//set validation outcome to the validRequest etc
validRequest.value = 'true';
if(validRequest.value == 'true')
return true;
return false;
} </script>
</form>
我忘了它是哪一个但是检查你的Page_Load等
protected void Page_Load(object sender, EventArgs e)
{
if(validRequest.Value == "true")
//Do whatever you need to
}