gpt4 book ai didi

asp.net - asp.net mvc 中具有相同输入 ID 的两种形式

转载 作者:行者123 更新时间:2023-12-04 13:05:03 25 4
gpt4 key购买 nike

我在一个页面上有多个表单,它们通过隐藏的输入将一个 id 传递给 Controller ​​。因为我对这些 View 使用强类型 View ,所以我认为我需要让每个 View 的 Id 保持相同。它目前有效,但我认为这是不好的做法。我该如何处理?在 Django 中有表单前缀值是否有等效项?

Avoid duplication of form input element ID in Django

这是我使用的两种形式:

        <form action="/Course/CropImage" method="post"> 
<input id="CourseId" name="CourseId" type="hidden" value="<%= Model.CourseId %>" />
<input id="X" name="X" type="hidden" value="<%= Model.X %>" />
<input id="Y" name="Y" type="hidden" value="<%= Model.Y %>" />
<input id="W" name="W" type="hidden" value="<%= Model.W %>" />
<input id="H" name="H" type="hidden" value="<%= Model.H %>" />
<input type="submit" value="Crop" />
</form>

<form action="/Course/UploadImage" enctype="multipart/form-data" method="post">
<input id="CourseId" name="CourseId" type="hidden" value="<%= Model.CourseId %>" />
<label for="Image">Select Image:</label><input id="Image" type="file" name="Select Image"/>
<input type="submit" value="Upload" />
</form>

最佳答案

如果您有 2 个 View 模型(一个用于裁剪,一个用于上传),您可以像这样为它们添加前缀(您可以使用 html 助手):

    <form action="/Course/CropImage" method="post"> 
<input id="Crop_CourseId" name="Crop.CourseId" type="hidden" value="<%= Model.CourseId %>" />
<input id="Crop_X" name="Crop.X" type="hidden" value="<%= Model.X %>" />
<input id="Crop_Y" name="Crop.Y" type="hidden" value="<%= Model.Y %>" />
<input id="Crop_W" name="Crop.W" type="hidden" value="<%= Model.W %>" />
<input id="Crop_H" name="Crop.H" type="hidden" value="<%= Model.H %>" />
<input type="submit" value="Crop" />
</form>

<form action="/Course/UploadImage" enctype="multipart/form-data" method="post">
<input id="Upload_CourseId" name="Upload.CourseId" type="hidden" value="<%= Model.CourseId %>" />
<label for="Image">Select Image:</label><input id="Upload_Image" type="file" name="Upload.Image"/>
<input type="submit" value="Upload" />
</form>

然后将带有前缀的属性绑定(bind)到您的 Controller 操作,如下所示:

public ActionResult CropImage([Bind(Prefix="Crop")]CropViewModel viewModel)
{
// do something
}


public ActionResult UploadImage([Bind(Prefix="Upload")]UploadViewModel viewModel)
{
// do something
}

关于asp.net - asp.net mvc 中具有相同输入 ID 的两种形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1778307/

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