小编Nit*_*esh的帖子

如何从WebAPI控制器操作返回不同类型的模型?

我有这样的控制器

    [ResponseType(typeof(List<InboxPatientModel>))]
    [Route("~/api/Messages/search")]
    public IHttpActionResult GetSearch(string serchTerm = "", string messageFor = "p")
    {
        try
        {
            if(messageFor == "p")
            {
                var inboxMessages = MessageToPatientList.Get(serchTerm);
                return Ok(inboxMessages);
            }
            else
            {
                var outboxMessages = MessageToDoctorList.Get(serchTerm);
                return Ok(outboxMessages);
            }
        }
        catch (Exception ex)
        {
             //some code for exception handling....
        }
    }
Run Code Online (Sandbox Code Playgroud)

这里MessageToPatientList.GetMessageToDoctorList.Get不同类型的返回列表说InboxPatientModelInboxDoctorModel.

是否可以装饰动​​作,[ResponseType(...)]以便它可以是动态的,并且可以返回不同类型的列表?

c# asp.net-mvc asp.net-web-api

6
推荐指数
1
解决办法
3234
查看次数

使用 TempData 几个

我有一个名为 UploadFile 的 mvc 页面,其中包含它们的操作和视图。在我的操作中,我使用 TempData 从一个发送到另一个,以便在刷新视图时重用我的 excel 列表。它在从网格的第一页到第二页时起作用。然而,第二次刷新后,临时数据消失了,我又得到了一个空网格。

在传递另一个视图/操作之前,我如何保留和重用我的 TempData。

        [HttpGet]
        public ActionResult UploadFile()
        {
            return View("UploadFile", TempData["Veri"]);
        }

        [HttpPost]
        public ActionResult UploadFile(HttpPostedFileBase file)
        {
            try
            {

                string _FileName = string.Empty;
                string _path = string.Empty;
                List<ImportExcelDto> listExcel = new List<ImportExcelDto>();


                if (file.ContentLength > 0)
                {
                    _FileName = Path.GetFileName(file.FileName);
                    _path = Path.Combine(Server.MapPath("~/App_Data/uploads"), _FileName);

                    string tempfolder = Server.MapPath("~/App_Data/uploads");


                    var fileGeneration = new DirectoryInfo(Server.MapPath("~/App_Data/uploads"));
                    fileGeneration.GetFiles("*", SearchOption.AllDirectories).ToList().ForEach(f => f.Delete()); //Directory'deki eski excel dosyalar?n? temizler

                    file.SaveAs(_path);
                }
                ViewBag.Message = "Dosya Ba?ar?yla Aktar?ld?!";

                DataTable dt …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc asp.net-mvc-4

2
推荐指数
1
解决办法
2362
查看次数

如何将IEnumerable模型传递给MVC中的局部视图

这是我称局部视图的布局。
这是我出错的代码。

CS0144无法创建抽象类或接口“ IEnumerable”的实例

<div class="fa fa-group">
  @Html.Partial("_Comment", new IEnumerable<OnlineTaxiReservationSystem.Models.Comment>)
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的部分观点。

@model IEnumerable<OnlineTaxiReservationSystem.Models.Comment>

<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
    <th>
        @Html.DisplayNameFor(model => model.UserComments)
    </th>
    @*<th>
        @Html.DisplayNameFor(model => model.UserId)
    </th>*@
    <th></th>
</tr>

@foreach (var item in Model) {
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.UserComments)
    </td>
    @*<td>
        @Html.DisplayFor(modelItem => item.UserId)
    </td>*@
    <td>
        @Html.ActionLink("Edit", "Edit", new { id=item.CommentId }) |
        @Html.ActionLink("Details", "Details", new { id=item.CommentId }) |
        @Html.ActionLink("Delete", "Delete", new { id=item.CommentId })
    </td>
</tr>
}
</table>
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc partial-views asp.net-mvc-5

2
推荐指数
1
解决办法
1922
查看次数