View Full Version : مقدار دهی به تکست باکس
z.gitaro
شنبه 28 دی 1392, 12:03 عصر
چطوری میشه در دستور زیر text تکست باکس را مشخص کرد من میخوام حین اجرا وقتی کاربر روی سطری از گریدویو کلیک کرد فیلد مشخصی از اون سطر را در تکست باکس نشون بدم
ممنون میشم راهنماییم کنید
@Html.EditorFor(model => model.Pattern)
Amir Oveisi
شنبه 28 دی 1392, 12:22 عصر
اگر model.Pattern دارای مقدار باشه، اون مقدار داخل input (یا به قول شما textbox) ای که ساخته میشه، قرار داده میشه.
z.gitaro
شنبه 28 دی 1392, 13:02 عصر
با ajax.actionlink گریدویویی نمایش داده میشه که فیلد اول اون در sestion قرار میگیره حالا مقدار sestion رو چطوری در تکست باکس قرار بدم؟
<td class="td" style="width:50px">
@Ajax.ActionLink(
linkText: "انتخاب",
actionName: "Pattern",
controllerName: "Invoice",
ajaxOptions: new AjaxOptions
{
//HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "pattern",
})
</td>
@{var c = Session["pattern"];}
<td class="td">
@Html.EditorFor(model => model.Pattern)
</td>
Amir Oveisi
شنبه 28 دی 1392, 15:19 عصر
@{var c = Session["pattern"];}
<td class="td">
@Html.EditorFor(model => c)
</td>
z.gitaro
شنبه 28 دی 1392, 18:19 عصر
دستور @Html.EditorFor(model => model.Pattern) برای فیلد pattern یه تکست باکس میذاره که من میخوام موقع اجرا سطر انتخابی را تو اون تکست باکس نشون بده همون اول اجرا sestion که مقدار نداره واسه همین هیچی نشون نمیده تکست باکسم نمیاره بعدم اینکه اگه کد رو بصورت @Html.EditorFor(model => c) بنویسم چطوری باید مقدار تکست باکس رو بریزم تو model.pattern تا در دیتابیس ذخیره کنم؟
ممنون
Amir Oveisi
یک شنبه 29 دی 1392, 02:11 صبح
مقدار رو از session بخونید بجای ریختن تو c، توی Model.Pattern بریزید بعد به جای model.Pattern بنویسید Model.Pattern
z.gitaro
یک شنبه 29 دی 1392, 09:43 صبح
همونطوری که گفتین کد رو نوشتم ولی بازم ارور میده
@{Model.Pattern = Session["pattern"].ToString();}
ارورش اینه
Object reference not set to an instance of an object
Amir Oveisi
دوشنبه 30 دی 1392, 02:52 صبح
یا مقدار مورد نظر توی Session وجود نداره، یا اینکه مدلی که فرستادید از controller به view مورد نظر، null هست. چک کنید ببینید کدوم مورده.
z.gitaro
دوشنبه 30 دی 1392, 07:46 صبح
یا مقدار مورد نظر توی Session وجود نداره، یا اینکه مدلی که فرستادید از controller به view مورد نظر، null هست. چک کنید ببینید کدوم مورده.
به Session که دستی مقدار دادم پس null نیس!مدل هم که از نوع کلاس @model BusinessManagement.ViewModel.InvoiceNumberPatternV M هست
Amir Oveisi
دوشنبه 30 دی 1392, 19:57 عصر
کدی که در controller نوشتید که view رو نمایش بده چی هست؟ اونو اینجا قرار بدید
z.gitaro
دوشنبه 30 دی 1392, 22:30 عصر
کد زیر مربوط به controller هست که در این فرم هم درج و هم اپدیت انجام میشه
public ActionResult DetailPattern(int? id)
{
using (var db = new BussinessManagmentEntities())
{
var InvoiceNPId = id;
if (InvoiceNPId != null && InvoiceNPId > 0)
{
var InvoiceNP = db.Tbl_InvoiceNumberPattern.FirstOrDefault(a => a.InvoiceNumberPatternID == InvoiceNPId);
if (InvoiceNP == null)
{
return RedirectToAction("index", "Home");
}
var InvoiceNPVM = Mapper.Map<InvoiceNumberPatternVM>(InvoiceNP);
return View(InvoiceNPVM);
}
}
return View();
}
[HttpPost]
public ActionResult DetailPattern(int? id, InvoiceNumberPatternVM InvoiceNumberPatternVM)
{
using (var db = new BussinessManagmentEntities())
{
if (ModelState.IsValid)
{
Tbl_InvoiceNumberPattern TblinvoiceNP;
var InvoiceNPId = id;
if (InvoiceNPId != null && InvoiceNPId > 0)
{
var InvoiceNP = db.Tbl_InvoiceNumberPattern.FirstOrDefault(a => a.InvoiceNumberPatternID == InvoiceNPId);
if (InvoiceNP == null)
{
return RedirectToAction("index", "Home");
}
TblinvoiceNP = InvoiceNP;
ViewBag.V_flagUpdate = true;
}
else
{
TblinvoiceNP = new Tbl_InvoiceNumberPattern();
db.Tbl_InvoiceNumberPattern.Add(TblinvoiceNP);
ViewBag.V_flagSave = true;
}
Mapper.Map(InvoiceNumberPatternVM, TblinvoiceNP);
db.SaveChanges();
return View("Confirm");
}
return View(InvoiceNumberPatternVM);
}
}
کد view :
@model BusinessManagement.ViewModel.InvoiceNumberPatternV M
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
@section scripts{
}
@using (Html.BeginForm())
{
<div class="main">
<table class="table">
<tr>
<td class="td-validation">
@Html.ValidationMessageFor(model => model.IdentityNumber)
</td>
<td class="td" style="width:50px"></td>
<td class="td">
@Html.EditorFor(model => model.IdentityNumber)
</td>
<td class="td">
@Html.LabelFor(model => model.IdentityNumber)
</td>
</tr>
<tr>
<td class="td-validation">
@Html.ValidationMessageFor(model => model.Pattern)
</td>
<td class="td" style="width:50px">
@Ajax.ActionLink(
linkText: "انتخاب",
actionName: "Pattern",
controllerName: "Invoice",
ajaxOptions: new AjaxOptions
{
//HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "pattern",
})
</td>
@* @{Model.Pattern = Session["pattern"].ToString();}*@
<td class="td">
@Html.EditorFor(model => Model.Pattern)
</td>
<td class="td">
@Html.LabelFor(model => model.Pattern)
</td>
</tr>
<tr>
<td class="td-validation">
@Html.ValidationMessageFor(model => model.SampleOutput)
</td>
<td class="td" style="width:50px"></td>
<td class="td">
@Html.EditorFor(model => model.SampleOutput)
</td>
<td class="td">
@Html.LabelFor(model => model.SampleOutput)
</td>
</tr>
<tr>
<td></td>
<td class="td" style="width:50px"></td>
<td class="td">
<input class="button" type="submit" value="ثبت" />
</td>
<td></td>
</tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
</table>
<div style="float:left;
margin-left:5px;
margin-top:50px;
display:inline;" id="pattern"></div>
</div>
}
<script>
</script>
کد action pattern:
public ActionResult Pattern()
{
if (!Request.IsAjaxRequest())
return View("Error");
using (var db = new BussinessManagmentEntities())
{
var pattern = db.Tbl_Pattern.ToList();
var patternlist = Mapper.Map<List<PatternVM>>(pattern);
return PartialView(viewName: "_Pattern", model: patternlist);
}
}
کد _Pattern:
@model IEnumerable<BusinessManagement.ViewModel.PatternVM>
<div id="panel" style="width:220px;height:200px;border:3px solid #938d8d;float:left;padding:10px;padding-top:30px;background-color:#5479bb">
@{
var grid = new WebGrid(source:Model, defaultSort: "Name", rowsPerPage: 4, canPage: true, canSort: true, selectionFieldName: "selectedRow");
}
@grid.GetHtml(tableStyle: "webgrid",headerStyle: "webgrid-header",footerStyle: "webgrid-footer",alternatingRowStyle: "webgrid-alternating-row",
selectedRowStyle: "webgrid-selected-row",rowStyle: "webgrid-row-style",columns:
grid.Columns(
grid.Column(format: item => item.GetSelectLink("انتخاب"),header: ""),
grid.Column(format: item => item.Pattern, header: "الگو" ),
grid.Column(format: item => item.Description, header: "شرح" ),
grid.Column(format: item => item.PatternID )
)
)
<div id="close" style="text-align:center;font:Verdana 12px;margin-top:30px;margin-left:90px;width:50px;
background-color:#d9cccc;height:23px;border-radius:3px;border:1px solid #808080;cursor:pointer">بستن</div>
</div>
@{if (@grid.HasSelection)
{
var patternRow = grid.SelectedRow.ToArray();
Session["pattern"] = patternRow[1].ToString();
}
else
{
Session["pattern"] ="{IDN}";
var c = Session["pattern"];
}
}
@section scripts{
}
<script type="text/javascript">
$(document).ready(function () {
$("#close").click(function () {
$("#panel").hide();
})
});
</script>
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.