2012-03-13 80 views
0

我在Visiual studio 2010中创建了我的网站中的gridview。IM是编程的新手,并且有一个查询引用基于gridview的结果将用户重定向到另一个页面。如果SelectedItem.Equals ???然后重定向语句

我的gridview工作得很好,并通过在下拉列表中做出的选择拉回项目。这些项目分配了编号(每月为1个,每周为& 2)。

我的用户从下拉列表中选择Weekly或Montly选项,网格视图中填充了这些数据。 (这部分工作非常好)。

一旦显示结果,我希望用户按“创建”按钮,并根据下拉列表中选定的项目将它们导向正确的Weekly.aspx或Monthly.aspx页面。

到目前为止,我有以下代码似乎将用户重定向到Monthly.aspx页面,以便从下拉列表中进行选择。

Protected Sub btnCreate_Agenda_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCreate_Agenda.Click 

    If DropDownList1.SelectedItem.Equals("1") Then 
     Response.Redirect("Weekly.aspx") 
    Else 
     Response.Redirect("Monthly.aspx") 
    End If 

End Sub 

任何人都可以指向正确的方向吗?

在我的页面加载事件中,我还想确保对于网页项目1(每周)是默认选择。我已经尝试通过将下面的代码添加到page_load事件来完成此操作,但是我没有仅仅使用结果。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    DropDownList1.SelectedItem.Equals("1") 

End Sub 

回答

0

SelectedItem属性将返回一个ListItem对象,这样就永远等于字符串"1"。使用SelectedValue属性来代替:

If DropDownList1.SelectedValue = "1" Then 
    Response.Redirect("Weekly.aspx") 
Else 
    Response.Redirect("Monthly.aspx") 
End If 

关于设置默认情况下,SelectedItem属性是只读属性。使用SelectedIndexSelectedValue属性中选择一个项目:

DropDownList1.SelectedValue = "1" 
+0

这是一种享受。我有点不确定我是否应该在语句中使用SelectItem或SelectValue,并且通过从ID中删除()来正常工作。非常感谢您的帮助。 – Betty 2012-03-13 11:44:10

1

您需要分配值来下拉或选择项目的索引,而不是比较当前值的东西。

DropDownList1.SelectedValue = "1" 

或者

DropDownList1.SelectedIndex = 1 
+0

的'SelectedItem'属性是只读的,你不能分配任何东西给它。 – Guffa 2012-03-13 11:39:41

+0

@Guffa - 没有检查是我的错。谢谢。 – Oded 2012-03-13 11:41:38