2009-12-01 78 views
0

我的代码存在一些问题,因为我无法在VB.NET或C#中执行以下操作,因为VB.NET或C#中没有form1.submit()函数?在VB.NET或C#中没有Form.Submit()函数?

<script language="javascript"> 
function valSubmit(){ 
    varMyReg = document.form1.lstCountry.options [document.form1.lstCountry.selectedIndex].value; 
    varNewReg = varMyReg.substring(0, 3); 
    document.form1.hdnRegion.value = varNewReg; 
    document.form1.action = "http://now.eloqua.com/e/f2.aspx" 
    document.form1.submit(); 
    return true;   
    } 
</script> 

为什么在VB.NET或C#中可以这样做或怎么做?

+3

浏览器中没有C#或VB.NET。 – leppie 2009-12-01 09:13:48

回答

3

C#和VB.net是服务器端语言。在浏览器中提交表单是一种客户端功能,因此您不能使用C#或VB.net。你需要为此使用Javascript(尽管你可以使用C#或VB.net在你的html中包含javascript)。

string js = @" 
    function valSubmit(){ 
    varMyReg = document.form1.lstCountry.options[document.form1.lstCountry.selectedIndex].value; 
    varNewReg = varMyReg.substring(0, 3); 
    document.form1.hdnRegion.value = varNewReg; 
    document.form1.action = 'http://now.eloqua.com/e/f2.aspx' 
    document.form1.submit(); 
    return true;   
    }"; 
RegisterStartupScript("submitform",js); 

您可以也应该根据需要修改脚本,尤其是要正确识别asp.net控件。例如,您可以使用this.Form.ClientID获取页面上主窗体的ID。您可以同时使用RegisterStartupScript(页面末尾)和RegisterClientScriptBlock(页面开始处)发出客户端脚本。

+0

我能够在我的代码背后创建我的脚本,但我需要在所有代码的末尾执行我的JavaScript函数...... – Etienne 2009-12-01 11:43:39