PDA

View Full Version : Set نشدن مقدار در ارسال دوباره



Mr Code
دوشنبه 23 بهمن 1391, 11:47 صبح
سلام
من در پروژه Controller و View و کلاسی به شکل زیر دارم

Controller

public ActionResult Contact(TextFile model)
{
ViewBag.Text = model.Text;

model.Text = "XYZ";

return View(model);

}


View

@model BargSabz.Models.TextFile

@using (Html.BeginForm("Contact", "Home"))
{
@Html.TextAreaFor(model => model.Text)
<br />
<input type="submit" />
}
@ViewData["Text"]


Class

public class TextFile
{
public string Text { get; set; }
}

در زمانی که پروژه را برای اولین دفعه اجرا میکنم مقدار XYZ در TextAreaFor قرار میگیره که منطقی هم هست و مقدار ViewBag.Text هم Null هستش که این هم درست به نظر میرسه اما وقتی مقدار XYZ را تغییر میدیم به توجه به ترتیب این دو خط


ViewBag.Text = model.Text;

model.Text = "XYZ";


باید مقدار ViewBag عوض بشه ولی مقدار TextAreaFor باید دوباره به XYZ تغییر کنه اما این اتفاق نمی افته و من متوجه نمیشم چرا
ممنون میشم از دوستان اگر راهنمایی بکنن

amirashna
جمعه 27 بهمن 1391, 00:17 صبح
سلام دوست من
من فکر می کنم شما دچار اشتباه منطقی شدید!
شما از ViewBag فقط زمانی می توانید استفاده کنید که می خواهید یک داده را از کنترلر به ویو ارسال کنید!
برعکس این صادق نیست
یعنی شما نی تونید مقداری را در view به viewbag بدهید!
برای این کار باید از فرم استفاده کنید
حالا اگر قرار که مقادیر نمایش داده نشوند از hidden فیلد ها استفاده کنید

یا حق