我想要完成的基本想法是:
我有一个“保存”按钮和一个“删除”按钮。如果用户编辑帐户并保存,我们假设该帐户处于活动状态,因此保留值1(“True”)。如果他/她点击“删除”按钮,则他们保存相同的数据,但帐户不再有效,因此我们应该保存0(“False”)。如果用户决定继续执行“删除”操作,如何更改帐户状态?我尝试将“IsActive”的.val()设置为.val('False'),因此可以在Convert.ToBoolean中对其进行求值并转换为0但应用程序冻结。
这是我的删除操作的jquery帖子:
$("#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;
}
答案 0 :(得分:1)
如果您有两个单独的“RemoveAccount”和“SaveAccount”点击处理程序,为什么不直接设置“IsActive”
$("#RemoveAccount").click(function(e){
$('#Display').show();
$('#Display2').show();
$.post("/RxCard/SaveAccount",
{
IsActive: false, //for save account IsActive : true
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);
});
});