我有一个Webpart在更新面板上包含几个下拉列表。有一个提交按钮,有一项PostBackUrl设置为SharePoint应用程序页面Sharepoint Webpart通过PostBackUrl发布数据到应用程序页面
<asp:DropDownList ID="ClassSelector" runat="server" Enabled="False"
AutoPostBack="True" onselectedindexchanged="ClassSelector_SelectedIndexChanged">
<asp:ListItem Selected="True" Value="-null-">Select Class...</asp:ListItem>
<asp:ListItem Value="1">Class 1</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btnSubmit" runat="server" Text="Show Page" Enabled="False"
PostBackUrl="~/_layouts/MyWebParts/MyAppPage.aspx" />
这个作品在重定向浏览器中我所创建的应用程序页面,但我无法访问表单数据。
在应用程序页面的Page_Load函数中,我有以下调试代码。
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "";
foreach (String s in Page.Request.Form.AllKeys)
{
Label1.Text += s + ": " + Page.Request.Form[s] + "<br />";
}
}
这表明我需要的数据实际上已经发布到页面。
ctl00$m$g_24a73cf8_8190_4ddb_b38b_bf523b12dbd3$ctl00$SemesterSelector: 28
ctl00$m$g_24a73cf8_8190_4ddb_b38b_bf523b12dbd3$ctl00$ClassSelector: 11-0021-A
但是当我尝试访问此为:返回
Page.Request.Form["ClassSelector"]
没有。我知道我必须在这里错过简单的东西,但我不确定是什么。
任何帮助是极大的赞赏。
这不会工作,因为id会改变。我将我的解决方案部署到另一个SharePoint服务器,并得到以下响应。 ctl00 $ M $ $ g_c690a07a_e525_4c4d_9c98_efb436828ec7 $ ctl00 SemesterSelector:28 ctl00 $ M $ $ g_c690a07a_e525_4c4d_9c98_efb436828ec7 $ ctl00 ClassSelector:11-0021-A – Littlejon