Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在另一个视图中显示来自一个视图的数据_C#_Asp.net_Asp.net Mvc_Ado.net Entity Data Model - Fatal编程技术网

C# 如何在另一个视图中显示来自一个视图的数据

C# 如何在另一个视图中显示来自一个视图的数据,c#,asp.net,asp.net-mvc,ado.net-entity-data-model,C#,Asp.net,Asp.net Mvc,Ado.net Entity Data Model,很抱歉标题让人困惑,我很难解释我想要达到的目标。我有一个视图,当前显示我数据库中的“行程”(目的地、类型、价格等)。我使用了actionlink,我的目标是能够选择一次旅行,单击actionlink并进入“预订”页面。预订页面将显示所选actionlink的信息,我将添加一个下拉列表来选择旅行人数 实现这一目标的最佳方式是什么?在这里举行一次会议可行吗?我是MVC的新手,我仍在努力让自己的头脑了解MVC的工作方式!提前感谢所有读到这篇文章的人 TripController代码- namespa

很抱歉标题让人困惑,我很难解释我想要达到的目标。我有一个视图,当前显示我数据库中的“行程”(目的地、类型、价格等)。我使用了actionlink,我的目标是能够选择一次旅行,单击actionlink并进入“预订”页面。预订页面将显示所选actionlink的信息,我将添加一个下拉列表来选择旅行人数

实现这一目标的最佳方式是什么?在这里举行一次会议可行吗?我是MVC的新手,我仍在努力让自己的头脑了解MVC的工作方式!提前感谢所有读到这篇文章的人

TripController代码-

namespace WebApplication5.Controllers
{
public class TripController : Controller
{
    // GET: Trip
    public ActionResult Index()
    {
        return View();
    }
    public ActionResult List()
    {
        List<Trips> trips = new List<Trips>();
        using (SampleModel dc = new SampleModel())
        {
            trips = dc.Trips.ToList();
        }
            return View(trips);
    }
    public ViewResult Booking()
    {

        return View();
    }
}
}
行程列表视图代码-

@model List<WebApplication5.Models.DB.Trips>

@{
ViewBag.Title = "List of trips";
var grid = new WebGrid(source: Model, canPage: true, rowsPerPage: 10);
grid.Pager(WebGridPagerModes.All);
}

<h2>List of Trips</h2>

<div id="content">
@grid.GetHtml(
            tableStyle: "webgrid-table",
            headerStyle: "webgrid-header",
            footerStyle: "webgrid-footer",
            alternatingRowStyle: "webgrid-alternating-row",
            rowStyle: "webgrid-row-style",
            columns: grid.Columns(
                grid.Column(columnName: "TripID", header: "TripID"),
                grid.Column(columnName: "Destination", header:     "Destination"),
                grid.Column(columnName: "Type", header: "Type"),
                grid.Column(columnName: "Price", header: "Price"),               
                grid.Column(columnName: "Book", format: (item) =>     Html.ActionLink("Book", "Booking", new { id = item.TripID }))
                ))

</div>

因此,最简单的方法是编写一个脚本函数,如

 @section scripts{
<script>
$(function(){
$('#book').on('click',function(){
 windows.location.href('@url.ActionLink('Booking','Trip',new{price = price}))
})
})
<script>
}

因此,最简单的方法是编写一个脚本函数,如

 @section scripts{
<script>
$(function(){
$('#book').on('click',function(){
 windows.location.href('@url.ActionLink('Booking','Trip',new{price = price}))
})
})
<script>
}

您可以在网格的每一行中渲染按钮/链接,而不是在外部指定按钮,如下所示

@grid.GetHtml(columns: new [] {
grid.Column(
"",
header: "Actions",
format: @<text>@Html.ActionLink("Book", "Book", new { id=item.TripID})</text> ) });

您可以在网格的每一行中渲染按钮/链接,而不是在外部指定按钮,如下所示

@grid.GetHtml(columns: new [] {
grid.Column(
"",
header: "Actions",
format: @<text>@Html.ActionLink("Book", "Book", new { id=item.TripID})</text> ) });

一个链接而不是单选按钮会使这变得更容易,但是对于当前的UI,您需要处理
。单击按钮的事件()
,并创建一个指向您要重定向到的方法的url(包括所选单选按钮的值,它将是
行程的ID
),然后使用
location.href=yourUrl链接将如何使其更容易,我需要做哪些更改才能将单选按钮替换为链接?谢谢@StephenMuecke,因为它可以是
@Html.ActionLink(“Book”,“Booking”,new{id=item.TripID})
(请参阅更多详细信息)@StephenMuecke即使在阅读了您提供的答案之后,我仍然无法以这种方式工作。我已经创建了一个booking视图,为booking类添加了return视图(),但是booking视图没有显示在上一页上选择的旅行!我不是通灵者,也猜不出你的密码中有什么错误。编辑您的问题,显示您尝试了什么(并删除所有不相关的代码,如css-我们只需要查看两个属性中的一个-一个链接而不是单选按钮将使这变得更容易,但对于当前的UI,您需要处理按钮的
。单击按钮的事件()
,并创建一个指向您要重定向到的方法的url(包括所选单选按钮的值,该单选按钮将是
行程的ID
),然后使用
location.href=yourUrl;
链接将如何简化,以及我需要做哪些更改才能将单选按钮替换为链接?谢谢@stephenmuecke,因为它可以是
@Html.ActionLink(“Book”,“Booking”,new){id=item.TripID})
(请参阅更多详细信息)@StephenMuecke即使在阅读了您提供的答案后,我仍然无法使它以这种方式工作。我已创建了预订视图,添加了返回视图()对于预订类,但预订视图不显示上一页上选择的旅行!我不是通灵者,也猜不出您的代码中有什么错误。编辑您的问题,显示您尝试了什么(并删除所有不相关的代码,如css-我们只需要查看两个属性中的一个)-
@grid.GetHtml(columns: new [] {
grid.Column(
"",
header: "Actions",
format: @<text>@Html.ActionLink("Book", "Book", new { id=item.TripID})</text> ) });
public ActionResult Book(int TripID)
{
  //bring required data from DB for the TripID you received
}