6

私はASP.Net Page, aspxデフォルトのフォームを持っています。

私はそれのためのSubmitボタンを持っています。クリックすると、データが自分自身にポストされます。つまり、Button Click Event()コード ビハインドから必要なものが実行されます。

その後、別のドメインから別のドメインに同じデータを投稿したいと考えていASp.Net Page, aspxます。

それで、どうすればいいですか?

投稿できるようFormにinButton Click Eventjavascripttoを作成してみました。しかし、ページ上のフォーム。SubmitFormForm is not appearing hence there is already a

とにかくそれを行うことはありますか?

4

5 に答える 5

10

ボタンの PostBackUrl プロパティを使用します。 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.postbackurl.aspx

<%@ page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
  <title>Button.PostBackUrl Example</title>
</head>
<body>    
  <form id="form1" runat="server">

    <h3>Button.PostBackUrl Example</h3>

    Enter a value to post:
    <asp:textbox id="TextBox1" 
      runat="Server">
    </asp:textbox>

    <br /><br />

    <asp:button id="Button1" 
      text="Post back to this page"
      runat="Server">
    </asp:button>

    <br /><br />

    <asp:button id="Button2"
      text="Post value to another page" 
      postbackurl="Button.PostBackUrlPage2cs.aspx" 
      runat="Server">
    </asp:button>

  </form>
</body>
</html>
于 2012-06-22T01:56:07.733 に答える
2

同様の問題がありました。単にポストバックを実行する asp:button がありました。Page_Load IsPostBack の部分では、いくつかの複雑な検証を行いました。ほとんどの人は、フォームを次のページに送信してそこで検証を行い、失敗した場合はリダイレクトします。しかし、ずさんだと思いました。したがって、解決策はポストバックであり、検証時に CodeBehind 内から送信します。それがあなたが探しているものだと思います。

これを「詳細」で描きたいのですが、それは非常に簡単です:

Server.Transfer("~/folder/page.aspx", True)

「True」は、POST データを保存するかどうかのフラグです。私にとってはうまくいきます。あなたにとってどのように機能するか教えてください。

http://www.codeproject.com/Articles/37539/Redirect-and-POST-in-ASP-NET

于 2013-04-08T18:28:24.197 に答える
2

これは私があまりお勧めしないアプローチの 1 つですが、必要なことは実行できます。JavaScript を使用して、フォームのアクション属性を使用してフォームが投稿される URL を (たとえば、default2.aspx に) 変更し、フォームを再投稿します。

    protected void btnClick(object sender, EventArgs e)
    {
        string script = "<script> document.forms[0].action='default2.aspx'; document.forms[0].submit(); </script>";
        ClientScript.RegisterClientScriptBlock(this.GetType(), "postform", script);
    }

2 番目のページにはEnableViewStateMac="false"

<%@ Page Language="C#" EnableViewStateMac="false" AutoEventWireup="true"
             CodeBehind="default2.aspx.cs" Inherits="CodeGen.default2" %>

注意:ページまたは web.config で enableViewStateMac=false を設定して、MAC 生成をオフにします。MAC はビューステート データの改ざんを防止するのに役立つため、これはお勧めできません。ただし、viewstate データの改ざんが問題にならない場合 (不正やセキュリティ侵害のリスクがない一部のアプリケーションではそうでない場合もあります)、これをオフにすることができます。続きを読む

于 2012-06-22T03:15:01.273 に答える
-3

コードビハインドで使用するだけ

Response.Redirect("YourOtherPage.aspx?param1=xxx")
于 2012-06-22T02:28:34.947 に答える