2

我在 .aspx 文件中使用了 javascript 创建了网页。

我有一个保存按钮,但在源代码中我使用 javascript 作为保存按钮,我在其中声明了一个名为的函数OnClientClick="javascript : validateTextTest()",并且在源代码的头部我调用了这个函数validateTextTest()

下面是源代码中的保存按钮:

<asp:Button ID="Save"  runat="server" 
   onclick="Save_Click" Text="Save" 
   OnClientClick="javascript : validateTextTest()" Width="63px" />

现在我需要validateTextTest()在 .cs 文件的保存按钮中调用一个函数。因为我有两到三个文本框,如果我在三个文本框中留下一个文本框,它不应该插入 DB。

所以请告诉我如何调用 .cs 文件中的函数。

4

3 回答 3

0

为了做这样的事情,你可以使用 asp.net 验证控件,为了你的目的,你需要为每个 TextBoxes 一个 RequieredFieldValidator,你可以像下面的代码一样使用它们:

<asp:TextBox ID="txtISBN" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RQVISBN" runat="server" ErrorMessage="*" ControlToValidate="txtISBN"></asp:RequiredFieldValidator>

这些控件很棒!他们会根据需要在客户端进行验证;)

于 2012-06-11T11:27:57.423 回答
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
}
于 2012-06-11T11:34:04.680 回答
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
}
于 2012-06-11T11:29:16.137 回答