0

我正在为快速表单创建一个用户控件。这种需要需要将数据存储在两个地方:一个是自定义构建的(由其他人)使用 JavaScript 提交数据的数据库,另一个是使用 .NET API 提交数据的 CRM。

我的表单目前提交 JavaScript 端没有问题,但我无法运行任何 .NET 代码。

我的代码的一个例子是:

nps.ascx

<html>
<head>
<script type='text/javascript'>
function doSubmit() {
  SubmitJavaScriptBasedData('title','stuff',$['[id$=comment]').val());
  $('[id$=comment].css('visibility','hidden');
  return true;
}
</script>
</head>
<body>
<asp:RadioButton ID="RB1" GroupName="Buttons" runat="server" /><br />
<asp:RadioButton ID="RB2" GroupName="Buttons" runat="server" /><br />
<asp:RadioButton ID="RB3" GroupName="Buttons" runat="server" /><br />
<asp:RadioButton ID="RB4" GroupName="Buttons" runat="server" /><br />
<p>
<asp:TextBox id="comment" runat="server" TextMode="MultiLine"></asp:TextBox>
<p>
<asp:Button id="submitBtn" runat="server" Text="Go!" OnClientClick="doSubmit();" OnClick="submitComment_Click"></asp:Button>
<p>
<asp:Label id="lblTest" runat="server"></asp:Label>
</body>
</html>

nps.ascx.cs:

...
protected void submitComment_Click(object sender, EventArgs e)
{
    lblTest.Text = "Hello World!";
}
...

当我点击我的按钮时,我得到了预期的 JavaScript 事情发生:我的远程数据库被更新并且“评论”文本框消失了。但是,根本不执行任何 .NET 代码。

谁能帮我理解为什么我没有执行 .NET 的东西?

PS我从记忆中重写了这段代码,作为一个例子——包括所有(我认为)相关的部分)——所以在打字时可能会出现错误。然而,我认为根本问题与提交有关。

4

2 回答 2

1

好吧,试试这个(这绝对不是一个好的解决方案,但它只是尝试如果它有效)

<asp:Button ClientIdMode="Static" id="submitBtn" runat="server" Text="Go!" OnClientClick="doSubmit(); __doPostBack('submitBtn','');" OnClick="submitComment_Click"></asp:Button>
于 2013-08-26T20:48:39.013 回答
1

试试这组代码。

<asp:Button id="submitBtn" runat="server" Text="Go!" OnClientClick="javascript:return doSubmit();" OnClick="submitComment_Click"></asp:Button>
于 2013-08-27T06:41:23.597 回答