Есть довольно много способов сделать это, в зависимости от ваших конкретных потребностей. Вы можете добавить свойство модели в качестве атрибута data
к элементу form
, который может быть прочитан при возникновении события submit
:
$("#pubmed-form").submit(function(e) {
e.preventDefault();
var sortOrder = $(this).data('sortorder');
console.log(sortorder);
});
<div id="pubmed-container" style="@(Model.Type == "Pubmed" ? "display: block" : "display: none")">
<form id="pubmed-form" class="form-horizontal" data-sortorder="@Model.SortOrder">
<div id="search-grid-container">
@(Model.Text)
</div>
<hr />
<div class="text-center">
<button type="submit" class="btn btn-primary modal-submit-btn">Save</button>
<button type="button" class="btn btn-default modal-close-btn" data-dismiss="modal">Close</button>
</div>
</form>
</div>
В качестве альтернативы вы можете использовать скрытое поле, таким образом, вам вообще не нужен JS, при условии, что вы не используете AJAX:
<div id="pubmed-container" style="@(Model.Type == "Pubmed" ? "display: block" : "display: none")">
<form id="pubmed-form" class="form-horizontal">
<div id="search-grid-container">
@(Model.Text)
</div>
<hr />
<div class="text-center">
<button type="submit" class="btn btn-primary modal-submit-btn">Save</button>
<button type="button" class="btn btn-default modal-close-btn" data-dismiss="modal">Close</button>
</div>
@Html.HiddenFor(m => m.SortOrder)
</form>
</div>
Другим способом будет прямой вывод значения модели в JS, хотя это, вероятно, слишком тесно связывает JS / C# logi c:
$("#pubmed-form").submit(function(e) {
e.preventDefault();
var sortOrder = '@Model.SortOrder'; // remove the quotes if the model property is numeric
console.log(sortorder);
});