2014-02-03 5 views
0

@Html.DisplayFor() значение не изменяется после отправки данных. Я прочитал статью об этой проблеме и произнес ее так: только отправьте данные, такие как EditorFor, TextBoxFor, TextAreaFor и изменить положение. Это правда? Как я могу изменить это значение после обратной передачи?@ Html.DisplayFor() значение не изменяется после обратной передачи

Посмотреть

@model HRProj.Model.Person 

@using(Html.BeginForm("Skills", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })){ 
    @Html.HiddenFor(m => m.SkillDoc.Filename) 
    <span class="file-upload"> 
     <span>Choose a file</span> 
     <input type="file" name="file" /> 
    </span> 
    File name : @Html.DisplayFor(m => m.SkillDoc.Filename) 
    <button>Upload</button> 

} 

Контроллер

public ActionResult Skills(int? id) 
{ 
    Others oparations... 
    var model = new Person { SkillDoc = db.GetSkillDoc().FirstOrDefault(m => m.PersonId == id) }; 
    return View(model); 
} 

[HttpPost] 
public ActionResult Skills(Person model, HttpPostedFileBase file) 
{ 
    Others oparations... 

    if (ModelState.IsValid) 
    { 
     SkillDoc doc = new SkillDoc(); 
     doc.Id = model.SkillDoc.Id; 
     doc.PersonId = model.SkillDoc.PersonId; 
     doc.CvDoc = (file != null) ? file.FileName : model.SkillDoc.CvDoc; 
     db.SkillDocCRUD(doc, "I"); 

     TempData["eState"] = "The record adding successfully"; 

     if (file != null) 
     { 
      file.SaveAs(Server.MapPath("~/Files/" + file.FileName)); 
     } 
    } 
    return View(model); 
} 
+0

Не могли бы вы объяснить, отправить данные? –

+0

Я загружаю файл, и я хочу показать имя, которое загрузил файл в моей форме, но он замалчивается после обновления страницы. –

+0

Вы устанавливаете то же самое в своем методе действий? Также, пожалуйста, напишите свой код метода действия. –

ответ

2

Пожалуйста, добавьте следующую строку внутри, если блок:

model.SkillDoc=doc; 

Или, скорее перенаправить к действию Навыки:

return RedirectToAction("Skills", new{id= model.PersonId}); 
+0

спасибо, что вы решили эту проблему. –

Смежные вопросы