Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp.net中显示母版页中搜索框的结果_C#_Asp.net_Search_Master Pages - Fatal编程技术网

C# 如何在asp.net中显示母版页中搜索框的结果

C# 如何在asp.net中显示母版页中搜索框的结果,c#,asp.net,search,master-pages,C#,Asp.net,Search,Master Pages,我在asp.net项目的母版页中有一个搜索框,我不知道两件事: 1) 如何将结果传输到新页面(因为它位于母版页中) 2) 如何显示结果 对于第一个问题,我尝试使用答案的DataTable创建一个会话,并在pageload函数的new page(构建在母版页上)中检查会话是否正确=null,但它不能很好地工作,因为pageload函数在母版页函数之前 对于第二个问题,我尝试了以下方法: users += "<div class='divusers'>"; users += "<h

我在asp.net项目的母版页中有一个搜索框,我不知道两件事:

1) 如何将结果传输到新页面(因为它位于母版页中)

2) 如何显示结果

对于第一个问题,我尝试使用答案的DataTable创建一个会话,并在pageload函数的new page(构建在母版页上)中检查会话是否正确=null,但它不能很好地工作,因为pageload函数在母版页函数之前

对于第二个问题,我尝试了以下方法:

users += "<div class='divusers'>";
users += "<h5>" + dt.Rows[0][0].ToString() + "</h5>";
users += "<h5>" + dt.Rows[0][1].ToString() + "</h5>";
users += "</div>";
users+=”;
用户+=“”+dt.Rows[0][0].ToString()+“”;
用户+=“”+dt.Rows[0][1].ToString()+“”;
用户+=“”;

但是有更好的方式显示结果吗?

在母版页上,您可以放置一个控件来显示结果

<div class="divusers">
    <asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
            <h5><%# Eval("columnName") %></h5>
        </ItemTemplate>
    </asp:Repeater>
</div>

最好在对话框(弹出窗口)中显示结果,而不是将其转移到新页面

<GridView>
<Columns>
    <asp:BoundField DataField="FirstName" HeaderText="First Name" ReadOnly="True" Visible="True" />
//other Boundfields
    <asp:TemplateField HeaderText="Search">
    <ItemTemplate>
       <asp:Button Id="Searchbtn" runat="server" Text="Search" onClick="Searchbtn_Onclick"/>
    </ItemTemplate>
   </asp:TemplateField>
</columns>
</GridView>
然后用脚本

script type="text/javascript">
    function ShowDialog() {
       $("#dialog").dialog({
            autoOpen: false,
            hide: "puff",
            show: "slide",
            width: "70%",
            modal: true,
            close: function(event, ui) {
                $("#dialog").find("form").remove();
                $("#dialog").dialog('destroy');

            }
        });
        $("#dialog").dialog("open");

    }

您不需要传输结果,只需将搜索字符串发送到页面,请尝试以下操作 在母版页中单击“搜索”按钮

protected void SearchButton1_Click(object sender, EventArgs e)
{
  Response.Redirect("~/SearchPage.aspx?searchTerm="+txtSearchter.Text);
}
在结果页面的页面加载上

protected void Page_Load(object sender, EventArgs e)
{
  if(!IsPostBack)
   {
     string SearchTerm = Request.QueryString["searchTerm"];
     //Do database search and bind to a gridview
   }
}

如果你有两个问题-你最好创建两个独立的问题。这是SOW上的预期格式结果类型是什么(单个值或某些东西)?能否提供有关如何实现搜索的更多信息?结果是一个包含多行的数据表,每一行都是一个人你想在母版页或内容页中显示结果吗?当你在aspx页中说你是指母版页的服务器端?因为我无法执行搜索按钮\u当从母版页上构建的常规aspx页面单击搜索按钮时,它无法识别该按钮。我不太清楚,抱歉。是在使用母版页的页面上,而不是母版页本身。我无法执行searchbutton\u click功能,因为按钮位于母版页上,而不在正确的页面中。我以为搜索按钮位于子页面上。但是如果按钮和转发器在同一页上,您可以直接访问它,而无需FindControl
Repeater1.DataSource=DataTable;Repeater1.DataBind()如何将数据传输到javascript函数?在ScriptManager.RegisterClientScriptBlock中,什么是“MyFun1”?
protected void SearchButton1_Click(object sender, EventArgs e)
{
  Response.Redirect("~/SearchPage.aspx?searchTerm="+txtSearchter.Text);
}
protected void Page_Load(object sender, EventArgs e)
{
  if(!IsPostBack)
   {
     string SearchTerm = Request.QueryString["searchTerm"];
     //Do database search and bind to a gridview
   }
}