2012-06-11 37 views
2

我在.aspx文件中使用javascript創建了網頁。如何從.cs文件調用.aspx的方法

我有一個保存按鈕,但在源代碼中,我用JavaScript來保存按鈕,在這裏我聲明瞭一個名爲OnClientClick="javascript : validateTextTest()"功能和源代碼的頭我調用此函數validateTextTest()

下面是源代碼保存按鈕:

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

現在我需要調用一個函數validateTextTest()中的.cs的保存按鈕file.Because我有兩到三個textboxs,如果我離開一個texbox出三個文本框不應插入到數據庫中。

那麼請告訴我如何在.cs文件中調用該函數。

回答

0

做這樣的事情,你可以使用asp.net驗證控件的insted的,你的目的,你將需要爲您的文本框的每一個RequieredFieldValidator,你可以使用它們像下面的代碼:

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

這些控件都是greate!並且他們在clientSide上進行驗證;)

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 
} 
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 
} 
相關問題