ASP.NET/C#在两页之间运行代码

ASP.NET/C#在两页之间运行代码,c#,asp.net,redirect,C#,Asp.net,Redirect,我的产品页面上有一个搜索文本框和按钮(products.aspx)。单击该按钮时,会将文本框中的文本与我的数据库中的产品名称进行比较,并在转发器中显示结果 当文本框、按钮和转发器都在同一页面上时,我的搜索功能可以正常工作。但是,理想情况下,我希望在我的产品页面上显示文本框和按钮,然后在搜索结果页面上显示转发器(search.aspx) 我知道按钮需要将用户重定向到search.aspx以显示结果,但是我的代码没有运行,因为products.aspx上没有中继器。如何让按钮在不同页面上运行代码 p

我的产品页面上有一个搜索文本框和按钮(
products.aspx
)。单击该按钮时,会将文本框中的文本与我的数据库中的产品名称进行比较,并在转发器中显示结果

当文本框、按钮和转发器都在同一页面上时,我的搜索功能可以正常工作。但是,理想情况下,我希望在我的产品页面上显示文本框和按钮,然后在搜索结果页面上显示转发器(
search.aspx

我知道按钮需要将用户重定向到search.aspx以显示结果,但是我的代码没有运行,因为
products.aspx
上没有中继器。如何让按钮在不同页面上运行代码

protected void btnSearch_Click(object sender, EventArgs e)
{
    string searchWord = txtWord.Text;

    ZaraEntities db = new ZaraEntities();

    var results = db.Products.Where(p => p.Name.Contains(searchWord));

    Response.Redirect("~/Search.aspx");

    rptrSearch.DataSource = results.ToList();
    rptrSearch.DataBind();

    litResults.Text = string.Format("<p>Search results for '{0}'. {1} Results found.</p>", txtWord.Text, results.ToList().Count);       
}
protectedvoidbtnsearch\u单击(对象发送方,事件参数e)
{
字符串searchWord=txtWord.Text;
ZaraEntities db=新的ZaraEntities();
var results=db.Products.Where(p=>p.Name.Contains(searchWord));
Response.Redirect(“~/Search.aspx”);
rptrSearch.DataSource=results.ToList();
rptrSearch.DataBind();
litResults.Text=string.Format(“{0}.{1}结果的搜索结果已找到。

”,txtWord.Text,results.ToList().Count); }
大部分代码都属于“Results.aspx”。如您所述,“Products.aspx”上不存在这些控件,因此无法访问它们。正确的方法是重定向到“Results.aspx”,并使用查询条件将查询字符串(或表单参数)传递到“Results.aspx”页面

Response.Redirect(string.Format("~/Search.aspx?query={0}", searchWord));
然后在“Results.aspx”页面的加载事件处理程序上编写以下内容

var searchWord = Request.Params[query] as string;
ZaraEntities db = new ZaraEntities();
var results = db.Products.Where(p => p.Name.Contains(searchWord));
rptrSearch.DataSource = results.ToList();
rptrSearch.DataBind()
litResults.Text = string.Format("<p>Search results for '{0}'. {1} Results found.</p>", searchWord, results.ToList().Count);
var searchWord=Request.Params[query]作为字符串;
ZaraEntities db=新的ZaraEntities();
var results=db.Products.Where(p=>p.Name.Contains(searchWord));
rptrSearch.DataSource=results.ToList();
rptrSearch.DataBind()
litResults.Text=string.Format(“{0}.{1}搜索结果已找到。

”,searchWord,results.ToList().Count);
大部分代码都属于“Results.aspx”。如您所述,“Products.aspx”上不存在这些控件,因此无法访问它们。正确的方法是重定向到“Results.aspx”,并使用查询条件将查询字符串(或表单参数)传递到“Results.aspx”页面

Response.Redirect(string.Format("~/Search.aspx?query={0}", searchWord));
然后在“Results.aspx”页面的加载事件处理程序上编写以下内容

var searchWord = Request.Params[query] as string;
ZaraEntities db = new ZaraEntities();
var results = db.Products.Where(p => p.Name.Contains(searchWord));
rptrSearch.DataSource = results.ToList();
rptrSearch.DataBind()
litResults.Text = string.Format("<p>Search results for '{0}'. {1} Results found.</p>", searchWord, results.ToList().Count);
var searchWord=Request.Params[query]作为字符串;
ZaraEntities db=新的ZaraEntities();
var results=db.Products.Where(p=>p.Name.Contains(searchWord));
rptrSearch.DataSource=results.ToList();
rptrSearch.DataBind()
litResults.Text=string.Format(“{0}.{1}搜索结果已找到。

”,searchWord,results.ToList().Count);
大部分代码都属于“Results.aspx”。如您所述,“Products.aspx”上不存在这些控件,因此无法访问它们。正确的方法是重定向到“Results.aspx”,并使用查询条件将查询字符串(或表单参数)传递到“Results.aspx”页面

Response.Redirect(string.Format("~/Search.aspx?query={0}", searchWord));
然后在“Results.aspx”页面的加载事件处理程序上编写以下内容

var searchWord = Request.Params[query] as string;
ZaraEntities db = new ZaraEntities();
var results = db.Products.Where(p => p.Name.Contains(searchWord));
rptrSearch.DataSource = results.ToList();
rptrSearch.DataBind()
litResults.Text = string.Format("<p>Search results for '{0}'. {1} Results found.</p>", searchWord, results.ToList().Count);
var searchWord=Request.Params[query]作为字符串;
ZaraEntities db=新的ZaraEntities();
var results=db.Products.Where(p=>p.Name.Contains(searchWord));
rptrSearch.DataSource=results.ToList();
rptrSearch.DataBind()
litResults.Text=string.Format(“{0}.{1}搜索结果已找到。

”,searchWord,results.ToList().Count);
大部分代码都属于“Results.aspx”。如您所述,“Products.aspx”上不存在这些控件,因此无法访问它们。正确的方法是重定向到“Results.aspx”,并使用查询条件将查询字符串(或表单参数)传递到“Results.aspx”页面

Response.Redirect(string.Format("~/Search.aspx?query={0}", searchWord));
然后在“Results.aspx”页面的加载事件处理程序上编写以下内容

var searchWord = Request.Params[query] as string;
ZaraEntities db = new ZaraEntities();
var results = db.Products.Where(p => p.Name.Contains(searchWord));
rptrSearch.DataSource = results.ToList();
rptrSearch.DataBind()
litResults.Text = string.Format("<p>Search results for '{0}'. {1} Results found.</p>", searchWord, results.ToList().Count);
var searchWord=Request.Params[query]作为字符串;
ZaraEntities db=新的ZaraEntities();
var results=db.Products.Where(p=>p.Name.Contains(searchWord));
rptrSearch.DataSource=results.ToList();
rptrSearch.DataBind()
litResults.Text=string.Format(“{0}.{1}搜索结果已找到。

”,searchWord,results.ToList().Count);
对于页到页的通信,您可以使用会话

protected void btnSearch_Click(object sender, EventArgs e) { 
    Session["searchWord"] = txtWord.Text;

    Response.Redirect("~/Search.aspx");
}
然后在Search.aspx上

protected void Page_Load(object sender, EventArgs e) {
    string searchWord = Session["searchWord"].ToString();

    ZaraEntities db = new ZaraEntities();

    var results = db.Products.Where(p => p.Name.Contains(searchWord));

    rptrSearch.DataSource = results.ToList();
    rptrSearch.DataBind();

    litResults.Text = string.Format("<p>Search results for '{0}'. {1} Results found.</p>", txtWord.Text, results.ToList().Count);

}
受保护的无效页面加载(对象发送方,事件参数e){
字符串searchWord=Session[“searchWord”].ToString();
ZaraEntities db=新的ZaraEntities();
var results=db.Products.Where(p=>p.Name.Contains(searchWord));
rptrSearch.DataSource=results.ToList();
rptrSearch.DataBind();
litResults.Text=string.Format(“{0}.{1}结果的搜索结果已找到。

”,txtWord.Text,results.ToList().Count); }
对于页到页的通信,您可以使用会话

protected void btnSearch_Click(object sender, EventArgs e) { 
    Session["searchWord"] = txtWord.Text;

    Response.Redirect("~/Search.aspx");
}
然后在Search.aspx上

protected void Page_Load(object sender, EventArgs e) {
    string searchWord = Session["searchWord"].ToString();

    ZaraEntities db = new ZaraEntities();

    var results = db.Products.Where(p => p.Name.Contains(searchWord));

    rptrSearch.DataSource = results.ToList();
    rptrSearch.DataBind();

    litResults.Text = string.Format("<p>Search results for '{0}'. {1} Results found.</p>", txtWord.Text, results.ToList().Count);

}
受保护的无效页面加载(对象发送方,事件参数e){
字符串searchWord=Session[“searchWord”].ToString();
ZaraEntities db=新的ZaraEntities();
var results=db.Products.Where(p=>p.Name.Contains(searchWord));
rptrSearch.DataSource=results.ToList();
rptrSearch.DataBind();
litResults.Text=string.Format(“{0}.{1}结果的搜索结果已找到。

”,txtWord.Text,results.ToList().Count); }
对于页到页的通信,您可以使用会话

protected void btnSearch_Click(object sender, EventArgs e) { 
    Session["searchWord"] = txtWord.Text;

    Response.Redirect("~/Search.aspx");
}
然后在Search.aspx上

protected void Page_Load(object sender, EventArgs e) {
    string searchWord = Session["searchWord"].ToString();

    ZaraEntities db = new ZaraEntities();

    var results = db.Products.Where(p => p.Name.Contains(searchWord));

    rptrSearch.DataSource = results.ToList();
    rptrSearch.DataBind();

    litResults.Text = string.Format("<p>Search results for '{0}'. {1} Results found.</p>", txtWord.Text, results.ToList().Count);

}
受保护的无效页面加载(对象发送方,事件参数e){
字符串searchWord=Session[“searchWord”].ToString();
ZaraEntities db=新的ZaraEntities();
var results=db.Products.Where(p=>p.Name.Contains(searchWord));
rptrSearch.DataSource=results.ToList();
rptrSearch.DataBind();
litResults.Text=string.Format(“{0}.{1}结果的搜索结果已找到。

”,txtWord.Text,results.ToList().Count); }
对于页到页的通信,您可以使用会话

protected void btnSearch_Click(object sender, EventArgs e) { 
    Session["searchWord"] = txtWord.Text;

    Response.Redirect("~/Search.aspx");
}
然后在Search.aspx上

protected void Page_Load(object sender, EventArgs e) {
    string searchWord = Session["searchWord"].ToString();

    ZaraEntities db = new ZaraEntities();

    var results = db.Products.Where(p => p.Name.Contains(searchWord));

    rptrSearch.DataSource = results.ToList();
    rptrSearch.DataBind();

    litResults.Text = string.Format("<p>Search results for '{0}'. {1} Results found.</p>", txtWord.Text, results.ToList().Count);

}
受保护的无效页面加载(objec)