Основная идея о том, что я пытаюсь выполнить это:переопределения значения на Jquery пост в контроллер
У меня есть кнопка «сохранить» и кнопку «удалить». Если пользователь редактирует учетную запись и сохраняет ее, мы предполагаем, что учетная запись активна, и поэтому сохраняется значение 1 («Истина»). Если он нажимает кнопку «Удалить», то они сохраняют одни и те же данные, за исключением того, что учетная запись больше не активна, поэтому вместо этого нужно сохранить 0 («False»). Как изменить статус учетной записи, если пользователь решит продолжить действие «удалить»? Я попытался установить .val() для «IsActive» на .val («False»), чтобы его можно было оценить и превратить в 0 в Convert.ToBoolean, но приложение застыло.
Вот мой JQuery пост для действия REMOVE:
$("#RemoveAccount").click(function(e){
$('#Display').show();
$('#Display2').show();
$.post("/RxCard/SaveAccount",
{
IsActive: $("#chkIsActive").val('False'),
AccountId: $("#AccountID").val(),
AccountName: $("#txtAccountName").val(),
Address: $("#txtAddress").val(),
City: $("#txtCity").val(),
State: $("#txtState").val(),
ZipCode: $("#txtZip").val(),
Area: $("#txtArea").val(),
Prefix: $("#txtPrefix").val(),
Suffix: $("#txtSuffix").val()
}).done(function (output) {
if (output.length > 0)
alert(output)
}).always(function() {
$("body").css("cursor", "default").delay(1000);
// loadAccount(accountId);
});
});
Здесь контроллер:
[ValidateRequest]
[HttpPost]
public string SaveAccount(FormCollection form)
{
Pharmacy pharmacy = new Pharmacy();
var isactive = Convert.ToBoolean(form["IsActive"])?1:0;
int AccountID = Convert.ToInt32(form["AccountId"]);
var AccountName = form["AccountName"];
var Address = form["Address"];
var City = form["City"];
var State = form["State"];
var ZipCode = form["ZipCode"];
var PhoneNumber = "(" + form["Area"] + ") " + form["Prefix"] + "-" + form["Suffix"];
using (OdbcConnection _conn = new OdbcConnection("FILEDSN=c:\\datasources\\RxCard.dsn"))
using (OdbcCommand cmd1 = new OdbcCommand())
{
cmd1.Connection = _conn;
cmd1.CommandText = "{call web.Maint_UpdateClinic(?,?,?,?,?,?,?,?,?)}";
cmd1.Parameters.AddWithValue("@AccountID", AccountID);
cmd1.Parameters.AddWithValue("@IsActive", isactive);
cmd1.Parameters.AddWithValue("@AccountName", AccountName);
cmd1.Parameters.AddWithValue("@Address", Address);
cmd1.Parameters.AddWithValue("@City", City);
cmd1.Parameters.AddWithValue("@State", State);
cmd1.Parameters.AddWithValue("@ZipCode", ZipCode);
cmd1.Parameters.AddWithValue("@PhoneNumber", PhoneNumber);
cmd1.Parameters.AddWithValue("@WebID", CookieStore.GetCookie("WebId"));
cmd1.CommandType = CommandType.StoredProcedure;
_conn.Open();
cmd1.ExecuteNonQuery();
_conn.Close();
}
//Response.Redirect("~/rxcard/search");
return string.Empty;
}
потому что я не думал об этом. Это сработало отлично! Благодарю вас. @Paresh. – thatdude