2010-05-13 6 views
0
Exactly I ned to do something like this is this possible? 

<% 
var Controller = null; 
if (Model.ID== "ABC") 
    { 
     Controller = "Name"; 
    } 
    else 
    { 
     Controller = "Detail"; 
    } 
%> 
<% using (Html.BeginForm("edit", Controller, FormMethod.Post, new { @id="exc-" + Model.SID})) 
    {%> 
<%= Html.Summary(true)%> 

это возможно? если я делаю я получаю исключение ...Могу ли я присвоить значение, как это?

ОШИБКА: Невозможно присвоить неявно типизированных локальной переменной

+0

Удалось ли кому-то изменить вопрос об очистке? –

+0

Зачем вам удалять большую часть вашего вопроса и оставлять часть, которая имеет наименьшее количество помощи? Откат? – Kelsey

+0

@ Дэн Блэр да, OP сделал ... Я просто сделал откат и исправил грамматику/форматирование. – Kelsey

ответ

7

Почему бы не просто сделать:

<% var Controller = (Model.ID == "ABC") ? "Name" : "Details" %> 

EDIT: Основываясь на вашем обновлении делать:

<% using (Html.BeginForm("edit", 
    (Model.ID == "ABC") ? "Name" : "Details", FormMethod.Post, 
    new { @id="exc-" + Model.SID})) 
    { %> 

вы также можете использовать свой код, который вы Editted и просто изменить var до string.

0
<% 
var Controller = null; 

if (Model.ID == "ABC") 
    { 
     Controller = "Name"; 
    } 
    else 
    { 
     Controller = "Details"; 
    } 
%> 
+0

Это не даст желаемого результата. В этом вопросе переменная 'Controller' является JavaScript-кодом, а код ASP.NET работает внутри встроенных блоков кода. –

+1

«Контроллер» не является переменной JavaScript. – thelost

+0

В любом случае, это неправильно. Если он должен быть переменной JavaScript, он не должен находиться в блоке '<%'/'%>', и если он должен быть переменной C#, то оператор' var Controller = null' является незаконным, поскольку выражение 'null' фактически не имеет типа. –

Смежные вопросы