-2

値を db に挿入したい。

私のモデルは

public bool Create(string userName) {
        _userNA = userName;
        if (validate()) {
            using (DatabaseCommaned cmd = new DatabaseCommaned()) {
                cmd.CommandText = "INSERT INTO tUser(UNA, FNAID, MNAID, LNAID, Email, MobCountryCode, Mobile, ST, LN, ExpDT) VALUES(@una, @fnaid, @mnaid, @lnaid, @email, @mobCode, @mobile, @st, @ln, @exp)";
                cmd.Parameters.AddWithValue("@una", userName);
                ....


                _userID = cmd.ExecuteInsertAndGetID();
                if (_userID > 0) {
                    copyPropertiesInternally();
                    Logs.LogEvent(LogEvent.UserCreated, userName);
                    ResetPassword();
                    return true;
                }
                else {
                    _userNA = string.Empty;
                    return false;
                }
            }
        }
        else 
            return false;
    }

コントローラーが上記のモデルに対してどのように書いているか誰にもわかりますか

4

2 に答える 2

1

あなたが何を求めているのか100%確信が持てませんが、私はそれを試してみます:

public ActionResult Create(string UserName)
{
    var model = new User();
    var created = model.Create(UserName);
    if(created)
       return View();
    else
       return RedirectToAction("Index");
}

コメントに応じて編集

モデルがいると言う。次のようになります。

public class UserModel
{
   public string UserName {get;set}
   public string Email {get;set}
   public string FirstName {get;set}
}

コントローラーのアクションは次のようになります。

public ActionResult Create(UserModel model)
{
    if (validate(model) {
         var user = new User();
         user.Create(model);
         return View();
    }
    else
       return RedirectToAction("Index");
}

DB 挿入コードは次のようになります。

public void Create(UserModel model) {
        _userNA = model.UserName;
        using (DatabaseCommaned cmd = new DatabaseCommaned()) {
        cmd.CommandText = "INSERT INTO tUser(UNA, FNAID, MNAID, LNAID, Email, MobCountryCode, Mobile, ST, LN, ExpDT) VALUES(@una, @fnaid, @mnaid, @lnaid, @email, @mobCode, @mobile, @st, @ln, @exp)";
        cmd.Parameters.AddWithValue("@una", userName);
        //....


        _userID = cmd.ExecuteInsertAndGetID();
        if (_userID > 0) {
              copyPropertiesInternally();
              Logs.LogEvent(LogEvent.UserCreated, userName);
              ResetPassword();
              return true;
        }
        else {
              _userNA = string.Empty;
              return false;
        }
    }
}

これは、あなたが提供した壊れた情報からのガイドラインです。うまくいけば、それはあなたを正しい道に導くでしょう。

于 2013-06-20T06:11:01.383 に答える