Veri ASP.NET MVC Çekirdek bağlanma

oy
0

Ben bazı verileri oluşturan HTML okumaya çalışıyorum. ASP.NET MVC CORE içinde ASP.NET MVC bunu ancak başardı. Herhangi bir yardım takdir edilecektir! Haim

ASP.NET MVC üzerindeki bu CSHTML kodu (ince amele):

@using (Html.BeginForm(Login, Account)){
<form class=form-group action=Login method=post>
        <input name=AccountAddressTxt type=text class=form-control  required=required id=AccountAddress placeholder=Enter Your Account   Address style=width:50% onclick=SetOx()>
        <br />
        <input name=AccountPasswordTxt type=password class=form-control required=required id=AccountprivateKey placeholder=Enter Your Account Private Key style=width:50%>
         <input id=loginBtn type=submit class=btn btn-success style=width:50% ; value=  Login>
</form>

Ve veriler (ince amele) bağlanma:

namespace RealEstate-Web_app.ModelsBinders
{

public class AccountBinder: IModelBinder
{
    public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
    {
        HttpContextBase objContext = controllerContext.HttpContext;
        String _accountAddress = objContext.Request.Form[AccountAddressTxt];
        String _accountPassword = objContext.Request.Form[AccountPasswordTxt];

        Account obj = new Account()
        {
            AccountAddress = _accountAddress;
            AccountPassword = _accountPassword;
        };
        return obj; 
    }
}

}

Sağ kontrolöre (ince amele):

[HttpPost]
public IActionResult Login([ModelBinder(typeof(AccountBinder))] Account  acc)
{
    return View(Login, acc);
}

Ama ASP.NET MVC CORE içinde ne yapacağımı bilmiyordum ile başka bir yöntemi alıyorum:

...   
using Microsoft.AspNetCore.Mvc.ModelBinding;

namespace RealEstate_Web_app.ModelBinders
{
    public class AccountBinder : IModelBinder
    {
        public Task BindModelAsync(ModelBindingContext bindingContext)
        {
          //What am I suppose to do here?

        }
    }
}
Oluştur 24/10/2019 saat 11:57
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
0

Daha önce yapıldığını olanlarla benzer bir biçimde izleyin. unutulmamalıdır yeni sürümde bazı değişiklikler var.

namespace RealEstate_Web_app.ModelBinders {

    public class AccountBinder : IModelBinder {
        public Task BindModelAsync(ModelBindingContext bindingContext) {
            if (bindingContext == null) {
                throw new ArgumentNullException(nameof(bindingContext));
            }

            var modelName = bindingContext.ModelName;

            HttpContext httpContext = bindingContext.HttpContext;
            String _accountAddress = httpContext.Request.Form["AccountAddressTxt"];
            String _accountPassword = httpContext.Request.Form["AccountPasswordTxt"];

            Account model = new Account() {
                AccountAddress = _accountAddress;
                AccountPassword = _accountPassword;
            };

            //TODO: validate and update model state if not valid
            //...

            bindingContext.Result = ModelBindingResult.Success(model);
            return Task.CompletedTask;
        }
    }
}

Referans Özel Model ASP.NET Core Bağlama

Cevap 24/10/2019 saat 12:42
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more