Я изо всех сил пытаюсь посмотреть, как сохранить состояние страницы без создания сеанса var. У меня есть страница с кнопкой, которая изменяет состояние страницы, при записи возможно, что представление возвращается, но в неправильном состоянии. Ive попробовал ViewBag, и это невозможно установить в java-области. Мне нужно решение, чтобы сохранить значение AuthType ..Сохранение состояния страницы mvc4
@model Trakman_Portal_Administration.Models.Connection
@ {
ViewBag.Title = "Create";
var conStringType = ViewBag.conStringType;
}
@Scripts.Render("~/bundles/jquery")
<script type='text/javascript'>
var authType = 1
$(document).ready(function() {
alert(authType);
if (authType == 0) {
$("#usernameLabel").hide();
$("#usernameField").hide().find('input:text').val("");
$("#passwordLabel").hide();
$("#passwordField").hide().find('input:text').val("");
//$("#initialCatalogLabel").show();
//$("#initialCatalogField").show();
document.getElementById("button1").textContent = "Intergrated";
authType = 1;
}
else {
$("#usernameLabel").show();
$("#usernameField").show();
$("#passwordLabel").show();
$("#passwordField").show();
//$("#initialCatalogLabel").hide();
//$("#initialCatalogField").hide();
document.getElementById("button1").textContent = "SQL Authentication";
authType = 0;
}
$("button").click(function() {
//$("#usernameField").attr("value","");
//$("#passwordField").attr("value","");
if (authType == 0) {
$("#usernameLabel").hide();
$("#usernameField").hide().find('input:text').val("");
$("#passwordLabel").hide();
$("#passwordField").hide().find('input:text').val("");
//$("#initialCatalogLabel").show();
//$("#initialCatalogField").show();
document.getElementById("button1").textContent = "Intergrated";
authType = 1;
}
else {
$("#usernameLabel").show();
$("#usernameField").show();
$("#passwordLabel").show();
$("#passwordField").show();
//$("#initialCatalogLabel").hide();
//$("#initialCatalogField").hide();
document.getElementById("button1").textContent = "SQL Authentication";
authType = 0;
}
});
});
<h2>Create</h2>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>connection</legend>
<div class="editor-label">
Authentication Type
</div>
<div>
<button id="button1" value="Intergrated" name="intergrated" >SQL Authentication</button>
</div>
<br />
<br />
<br />
<div class="editor-label">
Connection Name
</div>
<div class="editor-field">
@Html.EditorFor(model => model.conName)
@Html.ValidationMessageFor(model => model.conName)
</div>
<div class="editor-label">
Data Source
</div>
<div class="editor-field">
@Html.EditorFor(model => model.dataSource)
@Html.ValidationMessageFor(model => model.dataSource)
</div>
<div class="editor-label" id="initialCatalogLabel">
Initial Catalog
</div>
<div class="editor-field" id="initialCatalogField">
@Html.EditorFor(model => model.initialCatalog)
@Html.ValidationMessageFor(model => model.initialCatalog)
</div>
<div class="editor-label" id = "usernameLabel">
Username
</div>
<div class="editor-field" id="usernameField">
@Html.EditorFor(model => model.username)
@Html.ValidationMessageFor(model => model.username)
</div>
<div class="editor-label" id = "passwordLabel">
Password
</div>
<div class="editor-field" id = "passwordField">
@Html.EditorFor(model => model.password)
@Html.ValidationMessageFor(model => model.password)
</div>
<p>
<input type="submit" value="Create"/>
@{
if (!string.IsNullOrEmpty(ViewBag.error))
{
<div style="color:Red">
@ViewBag.error
</div>
}
}
</p>
</fieldset>
}
Да, я думаю, что это сработает, просто подумал, что, возможно, я пропустил что-то новое для MVC. Спасибо, хотя –