Это мой вид:
@model MediaShuttleCoreWebApp.Models.MediaShuttleAPI.ApiResponse.TransferLinkResponseContainer
@{
ViewData["Title"] = "CreateDownloadToken";
}
<h2>CreateDownloadToken</h2>
<div class="container we myBorder">
<h3 class="text-center display-4 myBorder"> Media Shuttle </h3>
@if (Model.User == null)
{
}
<a class="btn btn-primary btn-lg" href="@Url.Action("SendEmail","MediaShuttle", Model)"
role="button">Create Download Token</a>
<p>Email: @Model.User.Email</p>
</div>
Теперь, когда пользователь нажимает «кнопку», которая является «тегом», он отправляет модель обратно в контроллер.Однако я заметил, что он возвращает 2 свойства как NULL, а остальные заполняются значениями, которые первоначально были переданы в View ().
Это модель, которая передается в View ():
namespace MediaShuttleCoreWebApp.Models.MediaShuttleAPI.ApiResponse
{
[DataContract]
public class TransferLinkResponseContainer
{
[DataMember(Name = "id")]
public string Id { get; set; }
[DataMember(Name = "url")]
public string Url { get; set; }
[DataMember(Name = "createdOn")]
public DateTime CreatedOn { get; set; }
[DataMember(Name = "expiresOn")]
public DateTime ExpiresOn { get; set; }
[DataMember(Name = "user")]
public User User { get; set; }
[DataMember(Name = "grants")]
public IList<string> Grants { get; set; }
[DataMember(Name = "destinationPath")]
public string DestinationPath { get; set; }
[DataMember(Name = "notifications")]
public IList<Notification> Notifications { get; set; }
}
}
2 свойства, которые возвращаются как NULL:
public User User { get; set; }
public IList<Notification> Notifications { get; set; }
Обратите внимание, что эти свойства2 свойства не являются вашей обычной строкой, типом int или datetime.Таким образом, сценарий, когда я передаю Модель из Контроллера в View (), у меня есть данные, но когда я передаю Модель из View () в Контроллер, в «Url.Action» только некоторые свойства заполняются оригиналом.ценности.Есть идеи, почему это происходит?Я посмотрел везде, но ничего, что на самом деле не объясняет, почему 2 из моих свойств возвращаются как нулевые.
Я думал о том, чтобы просто создать ViewModel, у которого есть эти 2 свойства различного типа, и установить их в виде строки.
Это класс для свойства User:
[DataContract]
public class User
{
[DataMember(Name = "email")]
public string Email { get; set; }
}
Он просто содержит строку.
Также открыт для любых предложений.Но я действительно хочу понять, что происходит, когда Модель возвращается в Контроллер, почему эти 2 свойства возвращаются как нулевые.