我很努力将所需的所有数据传递给MVC中的控制器。代码如下:(目前NUM被定义为var num = 1;
,这当然不会工作)将值传递给控制器
<td><a [email protected]("AddCourseToStudentPlan", "Users", new {
courseID = c.CourseId, userID = user.UserId, semNum = num}) title="Add Course
to Semester" >"Here"</a></td>
课程ID和用户ID的逝去细。这些值本质上来自ViewBag
。
然而,semNum依赖于完全不同的东西:
<ul class="nav nav-tabs" id="Semtabs">
@{ var year = plan.CatalogYear; }
<li class="active"><a href="#SEM1" onclick="StoreNum(1)" data-toggle="tab" aria-expanded="true">Fall @year</a></li>
@{ year += 1; }
<li class=""><a href="#SEM2" data-toggle="tab" aria-expanded="true">Spring @year</a></li>
<li class=""><a href="#SEM3" data-toggle="tab" aria-expanded="true">Fall 2014</a></li>
<li class=""><a href="#SEM4" data-toggle="tab" aria-expanded="true">Spring 2015</a></li>
<li class=""><a href="#SEM5" data-toggle="tab" aria-expanded="true">Fall 2015</a></li>
<li class=""><a href="#SEM6" data-toggle="tab" aria-expanded="true">Spring 2016</a></li>
<li class=""><a href="#SEM7" data-toggle="tab" aria-expanded="true">Fall 2016</a></li>
...
预期输出是当在其中一个选项卡的用户点击,他们看到的,他们已经加入课程的列表,并能通过点击代码之前代码块中的链接将课程添加到此选项卡。因此,单击选项卡应在@Url.Action()
方法中更改num
的值。但当然,我不能这样做,因为C#是服务器端。
所以问题是,我怎么能够在页面加载后将一些变量semNum(这是确定的客户端)传递给@Url.Action()
方法?
当用户点击该链接,您可以发布最终'num'值到你的服务器,并相应地重定向到该行动在控制器 – silkfire
你的问题是不是真的我清楚。但无论如何,如果你的问题是Url.Action,那么你可以跳过使用它。只需使用一个java脚本函数,在函数中做你所需要的任何事情,然后重定向 –