2012-02-07 13 views
1

私はこの問題をいくつかの回避策で解決しましたが、問題をよりよく理解しているので、今回はこの問題を解決したいと思います。デフォルト以外のページにフォームを送信

My asp.net netページには、5つのフィールドに基づいてデータベースを検索する検索機能があります。結果はグリッドビューに表示されます。グリッドビューは編集可能で、値を更新できます。問題は、複数の値を更新したい場合、gridviewはそれを許可しないということです。だから私はチェックボックスのための余分な列を含めた。私はすべてのチェックされたレコードを更新するリンクを持つフッターを追加しました。

ここに問題がありますか?グリッドビューの値をキャプチャできる別のページにグリッドビュー全体を送信するにはどうすればよいですか?

デフォルトでは、ページは自動的に送信されます。私は、デフォルトのアクションページ、全体のgridviewと検索を変更する場合、何も動作しません。

したがって、ページ全体(またはその一部)をデフォルトのアクションスクリプト以外の別のページに送信するにはどうすればよいですか?

+0

」の「アクション」属性を変更して、別のリンク先ページに送信できますか? – jadarnel27

+0

そのページに何も何も働かない。編集し、見つけたら、すべてが新しいページに投稿されます。 –

+0

十分に公正。ちょっと思った=) – jadarnel27

答えて

1

私は特にgridviewでこれを試していませんが、私はCross Page PostBackがうまくいくと思います。私は自分のウェブサイトにも検索機能を持っています。これが私の使っているものです。

[宛先]ページにPostBackを引き起こしているボタンのPostBackUrlを設定します。 のは、あなたのソースページを想定してみましょうsearch.aspxであり、あなたの目的地のページには、search.aspxインサイドSearchResult.aspx

です:

<asp:Button ID="btnSearch" runat="server" Text="Search" CssClass="right" 
    ValidationGroup = "Search" 
    PostBackUrl="~/SearchResult.aspx" 
    onclick="btnSearch_Click"/> 

フォームがSearchResult.aspxに掲載されます。 SearchResult.aspx内部では、このディレクティブを追加:

PreviousPage.<mycontrol> 

・ホープ、このヘルプ:

<%@ PreviousPageType VirtualPath="~/Search.aspx" %> 

そして、背後にあるコードでは、次のように任意のコントロールをアセスすることができます。

1

Sessionを試しましたか? DataSourceまたはGridviewSessionに追加し、それを別のページにロードしてからDispose()に追加してください。

幸運を祈る!

UPDATE:

私はCross-Page Postingを通じて、過去にこれを達成しました。これは私がテスト目的のために今それをやった方法です:

のDefault.aspx:

<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" PostBackUrl="SearchResult.aspx" /> 

SearchResult.aspx.cs:

protected void Page_Init(object sender, EventArgs e) 
    { 
     if (PreviousPage != null) 
     { 
      if (Page.PreviousPage.FindControl("GridView1") != null) 
      { 
       GridView grid = (GridView)Page.PreviousPage.FindControl("GridView1"); 
       grid.ID = "myGrid"; 
       this.form1.Controls.Add(grid); 
      } 
     } 
    } 

うまくいけば、このことができます。

+0

私は他の仕事でセッションを利用しました。しかし、それをする正しい方法があれば、私は疑問に思います。これはASP.NETに関連しているので、私は誰かに答えてほしいです。セッションは1つの解決策だと言いますが、それ以外の方法はありますか? –

+1

私は自分の答えを更新しました。見てみな。 –

+0

これはうまくいくかもしれませんが、試してみてください。 –

関連する問題