我有这样的控制器
[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.Get和MessageToDoctorList.Get不同类型的返回列表说InboxPatientModel和InboxDoctorModel.
是否可以装饰动作,[ResponseType(...)]以便它可以是动态的,并且可以返回不同类型的列表?
我有一个名为 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) 这是我称局部视图的布局。
这是我出错的代码。
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)