我在一个aspx页面中做了一个查询功能的表单,功能一切正常
但因为该表单在很多aspx页面中都需要使用,我就把这部分的html代码搬到一个acsx里,路径为base1/SearchPart.ascx
SearchPart.ascx 文件里如下内容——
CodeBehind="SearchPart.ascx.cs"
Inherits="it66.base1.SearchPart" %>
runat="server">
……
ImageUrl="../images/button.gif" PostBackUrl="../pages/Search.aspx"
/>
在引用此控件的aspx文件中,我都加了如下代码——
TagName="SearchPart1" Src="~/base1/SearchPart.ascx"
%>
……
/>
因为做在控件里的表单不能直接通过Request.Form["title"]来取结果,所以采用了一种办法
我在SearchPart.ascx.cs文件中,加入如下一段代码——
public string GetTitle
{
get { return title.Text; }
}在专门用来接受表单值进行查询处理的一个Search.aspx.cs页面程序中,加入如下测试代码——
Response.Write(SearchPart1.GetTitle);
编译后,在浏览器中打开/pages/Search.aspx,在title输入框中输入字符,点击提交按钮后,屏幕上能正确显示之前输入的字符
下面是我碰到的问题————
Search.aspx页面自己提交给自己是没有问题的,但是如果在另一个页面如Default.aspx的title输入框中填写字符,点击提交按钮,通过PostBackUrl功能跳转到Search.aspx页面,便收不到值。(Default.aspx也内嵌有SearchPart.ascx)