2017-03-22 5 views
0

cap.aspxの2つのaspxページがあります。次のページにコンテンツプレースホルダーの非表示フィールド値を取得する方法

bottle.aspxのフォームに記入したら、そのフォームをcap.aspxに提出できます。これは正常に動作しています。しかし、bottle.aspxページでは、私はhidden fieldsを持っています。関数の値をhidden fieldsに割り当てています。今私がRequest.Form["HiddenfiledId"]を使用してcap.aspx.csファイルのhidden fieldの値を取得しようとすると、私はnullという値を得ています。

Bottle.aspxコード:

<%@ Page Title="" Language="C#" MasterPageFile="~/Meb.Master" AutoEventWireup="true" CodeBehind="bottle.aspx.cs" Inherits="xxxx" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="MHead" runat="server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="NavBarContent" runat="server"> 
</asp:Content> 
<asp:Content ID="Content3" ContentPlaceHolderID="Breadcrumbs" runat="server"> 
</asp:Content> 
<asp:Content ID="Content4" ContentPlaceHolderID="MiddleColumnContent" runat="server"> 
    <style> 
     .vTop { 
      vertical-align: top !important; 
     } 

     .rd1 { 
      margin: 1px 0px 0 6px; 
     } 

     .auto-style2 { 
      margin-right: 294px; 
     } 
    </style> 
    <script type="text/javascript"> 
     function SelectSingleRadiobutton(rdbtnid,checked) { 
      var rdBtn = document.getElementById(rdbtnid); 

      var rdBtnList = document.getElementsByTagName("input"); 
      for (i = 0; i < rdBtnList.length; i++) { 
       if (rdBtnList[i].type == "radio" && rdBtnList[i].id != rdBtn.id) { 
        rdBtnList[i].checked = false; 
       } 
      } 
      if (checked == false) { 
       document.getElementById("rbNewMessage").checked = false; 
      } 
      var hdnfldVariable = document.getElementById("hdnfldVariable") 
      hdnfldVariable.value = rdbtnid; 
     } 
    </script> 
    <form runat="server" method="post" action="Cap.aspx"> 
     <asp:gridview id="gvStatusMessages"> 
      <Columns> 
       <asp:TemplateField ItemStyle-CssClass="vTop rd1"> 
        <ItemTemplate> 
         <asp:RadioButton ID="rbSelectStatus" OnClick="javascript:SelectSingleRadiobutton(this.id,false)" /> 
         <asp:HiddenField ID="hdnfldVariable" runat="server" /> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
     </asp:gridView> 
     <asp:Button runat="server" Text="Submit Message" ID="btnSubmit" CssClass="bluelink" OnClientClick="f1(this)" /> 
     <asp:HiddenField ID="hdfButtonClciked" runat="server" /> 
    </form> 
</asp:Content> 

cap.aspx.csファイルに私はhidden field値を取得しようとしていますすべて。

string btnClicked = Request.Form["hdfButtonClciked"]; 
string msNum = Request.Form["hdnfldVariable"] 

しかし、それはnullという値を返しています。

答えて

0

ではなくHiddenFieldの使用Session

Approach2

Approach1

HiddenField btnClicked = ((HiddenField)Page.PreviousPage.FindControl("hdfButtonClciked")).Value; 
HiddenField msNum = ((HiddenField)Page.PreviousPage.FindControl("hdnfldVariable")).Value; 

それとも

を試してみてください。

注:最初の方法は、NullReferenceExceptionを生成する可能性が非常に高いため、処理には注意してください。

+0

server.transferを使用する必要がありますか?右。 @Imad – Rajan

+0

@Rajanあなたの選択 – Imad

+0

私はcap.aspx.csの最初のapprochを使ってみました。その値は.Valueなどを使用することはできません。だから私はHiddenFieldを与えたbtnClicked =(HiddenField)Page.PreviousPage.FindControl( "hdfButtonClciked");しかし、私はまだbottle.aspxから値を掲示していますが、私はnull値を取得します。 –

関連する問題