从aspx页面提交表单(没有runat = server)

时间:2014-01-07 15:39:59

标签: asp.net webforms

众所周知,aspx页面上只有一种形式。如何从代码中添加html表单到aspx页面并提交此创建表单的数据? 这是表单示例:

<form name="payment" method="post" action="https://sci.interkassa.com/" accept-charset="UTF-8"> 
<input type="hidden" name="ik_co_id" value="51237daa8f2a2d8413000000" /> 
<input type="hidden" name="ik_pm_no" value="ID_4233" /> 
<input type="hidden" name="ik_am" value="1.44" /> 
<input type="hidden" name="ik_desc" value="Payment Description" /> 
<input type="submit" value="Pay"> 
</form>

我有想法首先使用ClientScriptManager构建字符串,然后使用jQuery将此表单附加到div。这样的事情。有什么想法吗?

我将使用类似的东西,但我不喜欢这个解决方案:

Dim sname As [String] = "Interkassa"
            Dim stype As Type = Me.[GetType]()
            Dim cs As ClientScriptManager = Page.ClientScript
            If Not cs.IsStartupScriptRegistered(stype, sname) Then
                Dim sb As New StringBuilder()
                sb.Append("<script type=text/javascript>")
                sb.Append("$(document).ready(function () { var s = ""<form name='payment' method='post' action='https://sci.interkassa.com/' accept-charset='UTF-8'><input type='submit' value='Оплата через Интеркассу'></form>"";")
                sb.Append("html = $.parseHTML(s);$('#interkassa').append(html);});")
                sb.Append("</script>")
                cs.RegisterStartupScript(stype, sname, sb.ToString())
            End If

2 个答案:

答案 0 :(得分:0)

您不需要使用代码添加HTML。这是一种不好的做法,因为它在逻辑和标记之间提供了很差的分离。相反,在页面上创建一个按钮来触发服务器端事件,然后让服务器端事件处理逻辑。

<asp:Panel runat="server" ID="MyPaymentPanel">
<asp:Button runat="server" ID="SubmitPaymentBtn" Text="Pay" OnClick="SubmitPaymentBtn_Click" />
</asp:Panel>

然后在你的代码中......

protected void SubmitPaymentBtn_Click(object sender, EventArgs e)
{
//Retrieve values for ik_co_id, ik_pm_no etc from your database
//post the form if sending to a site you don't control, or update your database if you control sci.interkassa.com
}

答案 1 :(得分:0)

试试这个

<button id="ClearButton" class="Button2" onclick="javascript:temp();return false;">CLEAR</button>

<script type=text/javascript>
Function temp
{
  // your code
}
</script>