【发布时间】:2016-03-17 19:59:20
【问题描述】:
当在母版页上时,我有带有事件的 dropDownList。当事件引发我想加载/重定向 webForm.aspx。在这个 webForm.aspx 中,我想加载基于 dropDownList 所选项目的数据。同时我想再次加载 dropDownList 并选择单击的项目。
我创建了一些解决方案,在 masterPage 上使用 Response.Redirect("webform.aspx?courseID=4")。
这是解决这个问题的好方法吗?我想一定有更好的,但我看不到。
感谢您的回答。
【问题讨论】:
-
您的 MasterPage 是否检查查询字符串以获取 courseID,并相应地更新 dropDownList?
-
在 MastePage- Page_Load when !Page.IsPostback 我有从数据库加载所有内容的功能,如果有响应上下文 courseID,然后我读取他的值并在 dropDownList 中按值设置活动项目,这有效。现在我尝试用 Route 系统做响应,但是 Page.RouteData.Values["courseID"] as string;在 masterPage 中没有任何内容。
-
视情况而定,如果在 URL 中包含值是安全的,那么这是一种完全合法的移动值的方式,这里是在 Web 表单之间移动数据的所有标准方式的链接:msdn.microsoft.com/en-us/library/6c3yckfw.aspx
-
是的,号码是安全的,我正在检查它是否只有号码并且有存储过程。对于第二个问题。有谁知道为什么我不能根据我的问题显示 RouteData 值(从 MasterPage 发送响应
Response.Redirect(Page.GetRouteUrl("CourseSelected", new { courseID = ddlCourse.SelectedValue }));,在 MasterPage 中注册路由routes.MapPageRoute("CourseSelected", "Course/{courseID}", "~/Course.aspx");和ddlCourse.SelectedValue = Page.RouteData.Values["courseID"] as string;)?
标签: c# asp.net webforms response.redirect