如何从.cs文件中调用.aspx的方法

时间:2012-06-11 11:23:11

标签: javascript asp.net

我创建了网页,因为我在.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文件中调用该函数。

3 个答案:

答案 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
}