来自Master下拉列表的asp.net参数

时间:2014-03-19 19:51:58

标签: asp.net sql visual-studio

我的母版页中有一个下拉列表,我的一个内容页面中有一个gridview。我想做某事......

   select * from table where ID=@ID

对于参数@ID,我希望它来自母版页的下拉列表。我想知道如何实现这一目标? 非常感谢您的建议!

4 个答案:

答案 0 :(得分:1)

使用以下代码查找页面页面加载事件的下拉列表。

DropDownlist dropDownlist = (DropDownlist)this.Master.FindControl("YourDropDownId");
if(dropDownlist !=null)
{
      int Id =Convert.ToInt32(dropDownList.SelectedValue);
      //Write your grid binding logic here
 }

在查询中使用该ID。

答案 1 :(得分:0)

好吧,从内存开始,你可以在你的母版页上创建一个返回DropDownList控件的SelectedValue的公共属性。然后在您的子页面中,您可以引用子页面的Page.Master属性。将该页面转换为您的母版页的类型,然后您就可以引用该属性。

var ddlVal = (Page.Master as WhateverMyMasterPageClass).MyPublicProperty;

(那是C#,但也许你得到了照片。)

答案 2 :(得分:0)

要展开@maelstrom答案,您需要这样做:

在后面的主代码中

public string DropDownValue
{
    get {
        return this. dropDownlist.selectedValue;
    }
    set {
        this.dropDownlist.selectedValue= value;
    }
}

获取值

var myMaster = this.Master as YourMasterType;
if(myMaster != null)
{
   var Id = myMaster.DropDownValue;
}

答案 3 :(得分:0)

感谢您的所有建议!他们非常乐于助人!我是C#甚至VB的新手。我的主人有vb代码 受保护的子Button1_Click(ByVal sender As Object,ByVal e As System.EventArgs)处理Button1.Click

    Dim Selection As String = Nothing

    If Not DropDownList3.SelectedValue Is Nothing Then Selection = DropDownList3.SelectedValue
    Session("Selected") = Selection


End Sub

所以在我的asp内容中,我发现我可以手动将源设置为会话变量 - 会话("选择"),比如说           asp:SessionParameter Name =" id" SessionField ="选择" 它有效。