-1

Как использовать переменную в Model без использования ее в качестве поля ввода? У меня есть 1 неиспользованная переменная в Model, которая является userId. Мой JavaScript ниже заполняет поля в View в зависимости от щелкнутой строки. Я также планирую заполнить userId, поэтому я могу использовать его в моей кнопке «Обновить». Как использовать m => m.userId в качестве переменной?Использование переменной модели в качестве переменной в представлении, которая будет заполнена с помощью JavaScript

Посмотреть

@Html.LabelFor(m => m.userDesc) 
@Html.TextBoxFor(m => m.userDesc) 

@Html.LabelFor(m => m.userStatus) 
Active @Html.RadioButtonFor(m => m.userStatus, true) 
Inactive @Html.RadioButtonFor(m => m.userStatus, false) 

Модель

public string userId { get; set; } 
[Required(ErrorMessage = "*")] 

[Display(Name = "User")] 
public string userDesc { get; set; } 

[Display(Name = "Status")] 
public string userStatus { get; set; } 

часть JavaScript

//columnData - represents the column index in my table 
//fieldId - id of the fields (e.g. text = userDesc, radio = userStatus) 

for (i = 0; i < columnData.length; i++) { 

    var elmntType = document.getElementById(fieldId[i]).getAttribute("type"); 

    if (elmntType == "text") { 

     document.getElementById(fieldId[i]).value = rowSelected.cells[i].innerHTML.trim(); 

    } else if (elmntType == "radio") { 

     var status = rowSelected.cells[i].innerHTML.trim(); 

     if(status == "Active") { 
      $('input[name="' + fieldId[i] + '"][value="True"]').prop('checked', true); 
     } else { 
      $('input[name="' + fieldId[i] + '"][value="False"]').prop('checked', true); 
     } 
    }    
} 
+0

Только кто-то поставил на голосование голосующий вопрос !? Я думаю, что он действительный. Это не дублирующий вопрос, и я опубликовал свои коды. Jeez. –

+0

Вы хотите присвоить значение 'userId' для javascript varaiable? - вы можете использовать 'var id = @ Html.Raw (Json.Encode (Model.userId));'. Или вы можете добавить значение в качестве атрибута 'data- *' элемента html (и получить его с помощью 'var id = $ (element) .data ('....');' –

+0

@PhilipSy: если вы наведете над кнопкой downvote вы увидите описание: «Этот вопрос не показывает каких-либо исследований, он неясен или не полезен». На самом деле этот вопрос является дубликатом около ста других здесь, на SO. Это просто, что есть так много вариаций в отношении того, как они представлены, они часто не закрываются как таковые. Тем не менее, все они вращаются вокруг искателя, не понимая основную концепцию клиент-сервера. Другими словами, никаких исследований не было. это кажется мне совершенно верным. –

ответ

0

Прежде всего, вы можете использовать переменные, содержащиеся в Model без использования m => m.A обозначения. Anywhere на ваш взгляд, вы можете сделать что-то подобное: <h1>Hi @Model.userDesc</h1>

Теперь, если вы хотите использовать переменные ваших Model «S в JS кода, вы можете достичь с 3 способами:

  1. встраивать JS код на ваш взгляд, чтобы вы могли использовать @Model.userId в любом месте.
  2. экстернализовать в .js файле и инициализировать код JS с вашей точки зрения, проходящей @Model.userId

Plus, если вы хотите обновить userId переменную из JS кода, вы должны хранить его в скрытом поле для того, манипулировать им.