我有两个aspx
页,bottle.aspx
和cap.aspx
。
在bottle.aspx
填写表单后,我应该可以将该表单提交给cap.aspx
,这样可以正常使用。但是在bottle.aspx
页面中我有hidden fields
我在hidden fields
函数中为这些JavaScript
分配值。现在,当我尝试使用hidden field
获取cap.aspx.cs
文件中的Request.Form["HiddenfiledId"]
值时,我得到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 :(得分:0)
尝试
<强> Approach1 强>
HiddenField btnClicked = ((HiddenField)Page.PreviousPage.FindControl("hdfButtonClciked")).Value;
HiddenField msNum = ((HiddenField)Page.PreviousPage.FindControl("hdnfldVariable")).Value;
或者
Approach2
使用Session
代替HiddenField
。
注意:第一种方法很可能会生成NullReferenceException
,请小心处理它。