gpt4 book ai didi

c# - 将值从 View 传递到 Controller - MVC

转载 作者:行者123 更新时间:2023-11-28 20:19:20 26 4
gpt4 key购买 nike

我有一个缩略图列表,用户可以选择其中一张图像。

单击缩略图,将较大的图像打开到表单中。

我现在想做的是将所选图像的 ID 发送到我的 Controller 。

注意:我使用的是 MVC 4。

我该怎么做?

有人可以帮忙解决这个问题吗?

提前致谢:

这是我的代码:

 @foreach (var p in ViewBag.Images)
{
<li>
<a href="~/Files/@p.Name" onclick="swap(this); return false;">
<img src="~/Files/@p.Name"/>
</a>
</li>
}

当选择时,我的表单中将包含此 img 标签:

<img id="main" src="" >

为此事件使用此 JavaScript:

function swap(image) {
document.getElementById("main").src = image.href;
}

我现在必须做什么?

我尝试使用 <input type="hidden" name="Img_Id" value="Viewbag.??????"/>将此值传递给我的 Controller ??

最佳答案

首先,一些术语帮助:您无法将值从 View 传递到 Controller 操作, View 在 Controller 操作完成后呈现。

您想要做的是使用表单字段将数据从客户端(网络浏览器)传递到 Controller 操作。

在 JavaScript 交换方法中,您可以将 Img_Id 字段的值设置为所选图像的值。提交表单时,Img_Id 将作为表单数据发布,并且可以作为操作中的参数接受。

您可以使用 JQuery(或其他东西)来执行客户端操作。

这是一个示例(尚未测试!):

首先将 ID 添加为元素上的数据属性:

<a href="~/Files/@p.Name" data-id="@p.ID" onclick="swap(this); return false;">

然后使用一些 javascript 将其保存到表单(此处使用 jquery):

function swap(image) {
document.getElementById("main").src = image.href;
$("input[name='Img_Id']").val($(image).data("id"));
}

关于c# - 将值从 View 传递到 Controller - MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com