【发布时间】:2016-07-05 08:40:08
【问题描述】:
我有一个页面,其中有一个 html 表,我正在使用 java 脚本和 ajax 来调用控制器操作-“任务”,并在单击此 html 表的一行时传递模型。我在我的任务操作中获得了这个模型值。
在任务操作中,我将其重定向到另一个控制器操作。另一个控制器操作是 BOMItemCost,我的视图是 BOMItemCost.cshtml。
我已经调试了它,我的调试器正在查看视图,但最后我没有在我的网络浏览器上看到我的视图。
Html 表格和 javascript 代码:
<table class="TableID2" id="tblTask">
<thead>
<tr>
<th>Task Id</th>
<th>Task</th>
<th>Raised</th>
<th>Department</th>
<th>Raised On</th>
<th>Status</th>
</tr>
</thead>
<tbody><tr>
<td>1</td>
<td>1</td>
<td>Rahul</td>
<td>Marketing</td>
<td>28/06/2016 00:00:00</td>
<td>False</td>
</tr>
<tr>
<td>3</td>
<td>1</td>
<td>jitender</td>
<td>Marketing</td>
<td>30/06/2016 00:00:00</td>
<td>False</td>
</tr>
<tr>
<td>5</td>
<td>1</td>
<td>Jitender Singh</td>
<td>Marketing</td>
<td>07/02/2016 16:23:10</td>
<td>False</td>
</tr>
<tr>
<td>6</td>
<td>1</td>
<td>Jitender Singh</td>
<td>Marketing</td>
<td>07/04/2016 02:56:00</td>
<td>False</td>
</tr>
</tbody>
</table>
<script type="text/javascript">
taskdetail = [];
$("#tblTask tr").click(function (tr) {
debugger;
var tableData = $(this).children("td").map(function () {
return $(this).text();
}).get();
taskdetail.push({
taskid: tableData[0],
tasktype: tableData[1],
assignby: tableData[2],
department: tableData[3],
assignon: tableData[4],
status: tableData[5],
});
debugger;
var model = {
taskdetail: taskdetail
};
$.ajax({
url:'@Url.Action("Task", "Job")',
type: "POST",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({ data: model }),
dataType:'json',
success: function (data) {
alert('Document Saved.');
}
});
});
JobController 中的“任务”动作是
[HttpPost]
public ActionResult Task(JobModel data)
{
List<TaskDTO> listoftaskdetail = new List<TaskDTO>();
listoftaskdetail = data.taskdetail.ToList();
return RedirectToAction("BOMItemCost", "Tasks", listoftaskdetail);
}
TasksController 中的“BOMItemCost”操作是
[HttpGet]
public ActionResult BOMItemCost(List<TaskDTO> listoftaskdetail)
{
return this.View();
}
BOMItemCost.cshtml 是
<div id="container">
<div class="wrapper white-bg">
<div class="col s12 m12 l12">
<div class="border-light pad-md">
<div class="heading24">BOM for Bidding</div>
<form>
<input type="hidden" name="hiddenField" />
<div class="table_h1">
<table id="TableID1">
<thead>
<tr>
<th>Sr. No.</th>
<th>Item Code</th>
<th>Description</th>
<th>Qty Per Unit</th>
<th width="10%">Price</th>
<th>Total</th>
</tr>
</thead>
<tr>
<td>1</td>
<td>11234</td>
<td>Cap Capacitor</td>
<td>50</td>
<td class="editbox">400</td>
<td> </td>
</tr>
<tr>
<td>1</td>
<td>11234</td>
<td>Cap Capacitor</td>
<td>50</td>
<td class="editbox">400</td>
<td> </td>
</tr>
<tr>
<td>1</td>
<td>11234</td>
<td>Cap Capacitor</td>
<td>50</td>
<td class="editbox">400</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
@Html.TextArea("anshul")
</div>
<div class="clearfix"></div>
<div class="mar-sm-t pull-right">
<button class="btn waves-effect waves-light" type="submit" name="action">CANCEL</button>
<button class="btn waves-effect waves-light" type="submit" name="action">SEND TO MARKETING</button>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
我已经调试过了。我的编译器通过了我的视图,但我无法在我的网络浏览器上看到我的视图。
【问题讨论】:
-
你不能在你的 C# 函数中重定向
-
它是 mvc 控制器的动作而不是 c#function。
-
行动是什么意思?
-
@madalinivascu 这是正确标记
asp.net-mvc。这就像回答一个 javascript 问题并说“你所说的函数是什么意思?” -
您正在返回
success的“数据”中的新视图 - 您最好的选择是干脆不使用 ajax 并直接提交表单。
标签: javascript c# jquery asp.net-mvc