نیکناز
جمعه 25 مرداد 1392, 07:54 صبح
سلام من می تونم به جای این که یه مدل رو کامل به view پاس بدم ، فقط بعضی از فیلد هاشو پاس بدم؟
لاگ این من پارتیال ویو هست .
من این کار و کردم :
کلاس:
public class UsersClass
{
public class LogOn
{
public string username { get; set; }
public string password_User { get; set; }
}
}
کنترلر:
[HttpGet]
public ActionResult LogOn(string returnUrl)
{
using (var db = new MyContext())
{
var AllFeatureToLog = db.tbl_profile.Select(u => new UsersClass.LogOn { username = u.username, password_User = u.password_User }).ToList();
return PartialView(AllFeatureToLog);
}
}
پارتیال ویو:
@model MyProject.Models.UsersClass.LogOn
<div class="sidebar-line"><span></span></div>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<form class="signin-form">
<p>اگر شما نیاز به هر گونه کمک داشتید لطفا از طریق فرم <a href="#">تماس با ما </a>در داشبورد خود با ما تماس بگیرید</p>
@Html.TextBoxFor(m =>m.username, new { @id = "username", @class = "input-block-level", @placeholder = "* نام کاربری خود را وارد کنید" })
@Html.TextBoxFor(m => m.password_User, new { @id = "password", @class = "input-block-level", @placeholder = "* گذر واژه خود را تکرار کنید" })
@Html.ValidationMessage("LoginError")
<label for="inputPassword">
<a href="#">فراموش کرده اید؟</a>
</label>
<label class="checkbox">
<input type="checkbox">مرا به خاطر بسپار</label>
<button class="btn btn-medium btn-general input-block-level" type="submit">ورود به حساب کاربری</button>
</form>
}
ولی روی خط
@{ Html.RenderPartial("LogOn", "Account"); }
چنین اروری می ده :
The model item passed into the dictionary is of type 'System.String', but this dictionary requires a model item of type 'MyProject.Models.UsersClass+LogOn'.
واسه چی string ؟ رو کنترلر بریک پوینت هم می زارم واردش نمی شه .مستقیم میره رو این ارور.
اگه واسه اینه که من یه لیست پاس مید م من تو ویو
@model IEnumerable<MyProject.Models.UsersClass.LogOn>
رو هم گذاشتم ولی ...Html.TextBoxFor(m =>m.username ها مشکل داره چون در این حالت چیزی به نام username یا User_pass این طوری که من تعریف کردم نمی شناسه .
لاگ این من پارتیال ویو هست .
من این کار و کردم :
کلاس:
public class UsersClass
{
public class LogOn
{
public string username { get; set; }
public string password_User { get; set; }
}
}
کنترلر:
[HttpGet]
public ActionResult LogOn(string returnUrl)
{
using (var db = new MyContext())
{
var AllFeatureToLog = db.tbl_profile.Select(u => new UsersClass.LogOn { username = u.username, password_User = u.password_User }).ToList();
return PartialView(AllFeatureToLog);
}
}
پارتیال ویو:
@model MyProject.Models.UsersClass.LogOn
<div class="sidebar-line"><span></span></div>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<form class="signin-form">
<p>اگر شما نیاز به هر گونه کمک داشتید لطفا از طریق فرم <a href="#">تماس با ما </a>در داشبورد خود با ما تماس بگیرید</p>
@Html.TextBoxFor(m =>m.username, new { @id = "username", @class = "input-block-level", @placeholder = "* نام کاربری خود را وارد کنید" })
@Html.TextBoxFor(m => m.password_User, new { @id = "password", @class = "input-block-level", @placeholder = "* گذر واژه خود را تکرار کنید" })
@Html.ValidationMessage("LoginError")
<label for="inputPassword">
<a href="#">فراموش کرده اید؟</a>
</label>
<label class="checkbox">
<input type="checkbox">مرا به خاطر بسپار</label>
<button class="btn btn-medium btn-general input-block-level" type="submit">ورود به حساب کاربری</button>
</form>
}
ولی روی خط
@{ Html.RenderPartial("LogOn", "Account"); }
چنین اروری می ده :
The model item passed into the dictionary is of type 'System.String', but this dictionary requires a model item of type 'MyProject.Models.UsersClass+LogOn'.
واسه چی string ؟ رو کنترلر بریک پوینت هم می زارم واردش نمی شه .مستقیم میره رو این ارور.
اگه واسه اینه که من یه لیست پاس مید م من تو ویو
@model IEnumerable<MyProject.Models.UsersClass.LogOn>
رو هم گذاشتم ولی ...Html.TextBoxFor(m =>m.username ها مشکل داره چون در این حالت چیزی به نام username یا User_pass این طوری که من تعریف کردم نمی شناسه .