Я хочу знать работу метода UpdateModel(). Я просто знаю, что это обновление текущих данных модели. но как это работает? Поскольку, хотя я использую метод UpdateModel() в контроллере редактирования, есть функция загрузки файлов. Я сохраняю путь загруженного файла в своем db. но после выполнения значение метода UpdateModel пути заменяется на «System.Web.HttpPostedFileWrapper». почему это должно случится: Код:Как метод UpdateModel работает в asp.net mvc 2
if (!String.IsNullOrEmpty(Request.Files["TDSCertificatePath"].FileName))
{
TrustTrusteeMapping objTrustTrusteeMapping = trust_trustee_mapping_management.GetTrustTrusteeMappingById(objTDSDetail.TrustTrusteeMappingId);
string TrustTrusteeMappingName = objTrustTrusteeMapping.Trust.TrustName + "_" + objTrustTrusteeMapping.TrusteeMaster.FullName;
HttpPostedFileBase fileToUpload = Request.Files["TDSCertificatePath"];
objTDSDetail.TDSCertificatePath = CommonFunctions.UploadFile("TDSCertificatePath", "Content\\TDSCertificate\\", TrustTrusteeMappingName, fileToUpload);
fileToUpload = null;
objTrustTrusteeMapping = null;
}
UpdateModel(objTDSDetail);//After executes this the value of objTDSDetail.TDSCertificatePath changes as I said before.
Почему вы не захватить источник MVC и отладки для себя? Или, если вас это не беспокоит, вы можете посмотреть здесь: http://aspnet.codeplex.com/sourcecontrol/changeset/view/23011?projectName=aspnet#266451 – RPM1984
извините, я пробовал это, но как UpdateModel() не выполняется (Показывает) выполнение внутреннего метода. Я хочу это увидеть. хотите понять, как это работает. –
Это потому, что 'UpdateModel', в конце концов, использует интерфейс, а не конкретный класс - попробуйте посмотреть класс' DefaultModelBinder.cs'. – Buildstarted