gpt4 book ai didi

javascript - MVC Core,如何检索列表对象之一的索引

转载 作者:行者123 更新时间:2023-11-30 14:48:29 25 4
gpt4 key购买 nike

很抱歉不清楚。这是我的代码,我希望能解释更多

Controller :

    [HttpPost]
public IActionResult Test(int classid)
{

return View();
}

查看:

<form asp-action="Test">

@for (int i = 0; i < Model.Count(); i++)
{
var buttonid = "btnSubmit" + i;

@Html.TextBoxFor(model => Model[i].Name)
@Html.TextBoxFor(model => Model[i].ClassName)
<input name="submit" id="@buttonid" type="button" data-classid="@Model[i].ClassID" value="Go to class Form" class="btn btn-default MyButtonClass" style="font-size: 14px" />

}
<script>

$(document).on("click", ".MyButtonClass", function () {

var id = $(this).data("classid");
alert(id);

$.ajax({
type: "POST",
url: "/StudentController/Test",
data: { classid: id }
});

});

</script>
</form>

所以我想做的是当用户点击提交时,它会重定向到另一个包含类名信息的表单(我知道如何重定向到另一个页面),但是,问题是在另一个 Controller 中,我只能检索 List 而不是选定的索引类名。有什么方法可以在用户点击提交时检索索引?

谢谢

最佳答案

我在下面给出了一个答案,希望对您有所帮助。

首先,在您的 Controller 中建立您的学生列表。

 public class TestController : Controller
{
public ActionResult Test()
{

var list = new List<Student>()
{
new Student()
{
Name = "Student1",
ClassID = 1,
ClassName = "ClassA"
},
new Student()
{
Name = "Student2",
ClassID = 2,
ClassName = "ClassB"
},
new Student()
{
Name = "Student3",
ClassID =3,
ClassName = "ClassC"
}
};

//You can call a service and populate your own data.

return View("Test", list);
}
}

指定 View 模型

@model List<TestMVC.Student>

然后遍历每个学生,为每个按钮生成一个唯一的 ID,并将 classid(您需要的任何 key ID)放入 data-classid 属性中。

  @for (int i = 0; i < Model.Count(); i++)
{
var buttonid = "btnSubmit" + i;

@Html.TextBoxFor(model => Model[i].Name)
@Html.TextBoxFor(model => Model[i].ClassName)
<input name="submit" id="@buttonid" type="button" data-classid="@Model[i].ClassID" value="Go to class Form" class="btn btn-default MyButtonClass" style="font-size: 14px" />
<br/>
}

我们还指定了一个名为“MyButton”的新 css 类。这将为 jquery 选择器提供服务。

<style>

.MyButtonClass {
color:red;
}

</style>

然后使用 Jquery 捕获单击的按钮,取下 id 并将 id 作为参数发布到您想要的任何 Controller 和操作。

<script>

$(document).on("click", ".MyButtonClass", function () {

var id = $(this).data("classid");
alert(id);

$.ajax({
type: "POST",
url: "/YourController/YourAction",
data: {classid:id}
});

});

</script>

“数据”行。 “classid”必须与 Controller 上的参数同名。所以发布的 Action 签名将是

    [HttpPost]
public void YourAction (int classid)
{

}

希望对您有所帮助。

关于javascript - MVC Core,如何检索列表对象之一的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48525058/

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