PDA

View Full Version : سوال: پر شدن فیلدهای ویو Create



GILAS_MVC
پنج شنبه 04 مهر 1392, 22:57 عصر
سلام من میخام وقتی ویوCreate مود میشه تعدادی از فیلدها بصورت اتوماتیک پر بشه مثلا تاریخ سفارش تاریخ روز باشه و id از دیتابیس بحونه MAX+1 بکنه

Amir Oveisi
جمعه 05 مهر 1392, 12:49 عصر
تو Action ای که برای Create دارید کافیه یک شی از مدل مورد نظرتون رو بسازید و فیلد های مورد نظرتون رو مقدار دهی کنید و بعد این شی رو به عنوان پارامتر ارسال کنید به View تون.

GILAS_MVC
جمعه 05 مهر 1392, 12:54 عصر
دوست عزیز میشه یه نمونه کوچیک اینجا قرار بدین؟

Amir Oveisi
جمعه 05 مهر 1392, 13:40 عصر
مثلا فرض کنیم من میخوام تو سایتم لایسنس تولید کنم و قصد دارم که نام کاربری و کلمه عبور و تاریخ شروع و انقضای لایسنسم تو صفحه ایجاد به صورت پیش فرض مقدار داشته باشن.
Atiction:

public ActionResult Create()
{
License license = new License();
license.UserName = userName;
license.Password = password;
license.CreationDate = DateTime.Now;
license.ExpirationDate = DateTime.Now.AddMonths(14);
return View(license);
}


View:

@model PSYCO.Web.NodeUpdateManager.Models.License

@{
ViewBag.Title = "ایجاد لایسنس";
}
<h2>ایجاد لایسنس</h2>

@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)

<fieldset>
<legend>اطلاعات لایسنس</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Title)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Title)
@Html.ValidationMessageFor(model => model.Title)
</div>


<div class="editor-label">
@Html.LabelFor(model => model.CreationDate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.CreationDateText)
@Html.ValidationMessageFor(model => model.CreationDateText)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.ExpirationDate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ExpirationDateText)
@Html.ValidationMessageFor(model => model.CreationDateText)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.UserName)
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.UserName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Password)
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.Password)
</div>
<p>
<input type="submit" value="ایجاد" />
</p>
</fieldset>
}

GILAS_MVC
جمعه 05 مهر 1392, 14:00 عصر
حالا اگه بخام تعدادی از فیلدهای ویو روReadOnlyبکنم باید چیکا کنم؟

Amir Oveisi
جمعه 05 مهر 1392, 14:31 عصر
من برای فیلد های username و password همینکار رو کردم اگر دقت کنید به جای EditorFor از DisplayFor استفاده کردم.

GILAS_MVC
جمعه 05 مهر 1392, 14:44 عصر
توی صفحات defualt ویو تک ستونی هستند مثلا یه لیبل و تکت باکس زیرش چطوری میشه صفحه رو به دو ستونی مرتب تبدیل مرد که یه طرف Label باشه و طرف دیگه Editor ها

Amir Oveisi
جمعه 05 مهر 1392, 15:29 عصر
این سوال به بخش Web Design مربوط میشه و بهتره اونجا مطرح کنید. ارتباطی با MVC نداره :-)