inline С# код внутри страницы aspx

56
3

Я хочу отображать различные варианты раскрывающегося списка на основе переменной userName, но не знаю, как это сделать. Здесь код:

<form id="frmViewRequest" runat="server">
<div class="widget-content">

<div class="padd"><div class="row">
<div class="col-md-2">
<% if (userName == "jpublic"){
<asp:DropDownList class="form-control" runat="server" AutoPostBack="true" ID="ddlChangeStatus">
<asp:ListItem Text="Under Review" value="1" />
</asp:DropDownList>
}
else{
<asp:DropDownList class="form-control" runat="server" AutoPostBack="true" ID="ddlChangeStatus">
<asp:ListItem Text="Under Review" value="1" />
<asp:ListItem Text="Approved" value="2" />
<asp:ListItem Text="Rejected" value="3" />
<asp:ListItem Text="Logged" value="4" />
<asp:ListItem Text="Completed" value="5" />
</asp:DropDownList>
}
%>

Это возможно? И если да, то как я могу показать разные ListItems на основе имени пользователя? Благодарю!

спросил(а) 2014-01-30T01:27:00+04:00 6 лет, 7 месяцев назад
1
Решение
99

Не объявляйте несколько выпадающих списков.

Вместо этого запишите свой dropdownlist в код:

if (username == "jpublic")
ddlChangeStatus.DataSource = ...;
else
ddlChangeStatus.DataSource = ...;

ddlChangeStatus.DataTextField = ...;
ddlChangeStatus.DataValueField = ...;
ddlChangeStatus.DataBind();

Или со статическими данными:

ddlChangeStatus.Items.Add(new ListItem("Under Review", "1"));
if (username != "jpublic")
{
ddlChangeStatus.Items.Add(new ListItem("Approved", "2"));
ddlChangeStatus.Items.Add(new ListItem("Rejected", "3"));
ddlChangeStatus.Items.Add(new ListItem("Logged", "4"));
ddlChangeStatus.Items.Add(new ListItem("Completed", "5"));
}

ответил(а) 2014-01-30T01:32:00+04:00 6 лет, 7 месяцев назад
71

Вам нужно открыть/закрыть каждую строку С#.

<asp:DropDownList class="form-control" runat="server" AutoPostBack="true" ID="ddlChangeStatus">
<% if (userName == "jpublic"){ %>
<asp:ListItem Text="Under Review" value="1" />
<% } else { %>
<asp:ListItem Text="Under Review" value="1" />
<asp:ListItem Text="Approved" value="2" />
<asp:ListItem Text="Rejected" value="3" />
<asp:ListItem Text="Logged" value="4" />
<asp:ListItem Text="Completed" value="5" />
<% } %>
</asp:DropDownList>

ответил(а) 2014-01-30T01:31:00+04:00 6 лет, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема