gpt4 book ai didi

c# - 将参数发送到操作方法

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:50 25 4
gpt4 key购买 nike

目前我有这段代码:

@using (Html.BeginForm("Add", "Review", "Review"))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Review</legend>

<div class="editor-label">
@Html.LabelFor(model => model.TEKST)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.TEKST)
</div>

<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}

这会将我发送到:localhost:4470/Review/Add?Length=6我真正想要的是这个 url:localhost:4470/Review/Add?tekst=sdfsdf

我如何修改此代码以使用“tekst”作为参数而不是长度?并将文本框的内容作为值。

更新:这是我的操作方法:

public ActionResult Create()
{
return View();
}

public ActionResult Add(string tekst)
{
ViewBag.test = tekst;
return View();
}

在 Create 的 View 页面中,我想要一个带有文本框或文本区域的表单,它向 Add 发送一个 Action ,文本框或文本区域的内容应该在 Action 方法“Add”的参数“tekst”中"

解决方案:查看 CD Smith 的帖子

最佳答案

我不确定您的操作是什么样的,但只要它接受您的模型,您的模型中就有 TEKST 的值(value)..

如果您需要不同的东西,那么您的 View 也需要不同,您从 View 中发布一个模型,而不是通过 POST 发送 GET 参数

您目前是否有将 TEKST 作为参数的操作?

更新

好的,看看你的 Action ......你不需要修改你的 View ,你需要修改你的 Action ,试试这个,这会得到你想要的。

更改 YourModelTypeHere 以匹配您的真实模型类型

[HttpPost]
public ActionResult Create(YourModelTypeHere model)
{
return RedirectToAction("Add", new { tekst = model.tekst });
}

public ActionResult Add(string tekst)
{
ViewBag.test = tekst;
return View();
}

您需要稍微修改一下您的 View - 从 BeginForm 标记中删除参数

@using (Html.BeginForm())

因此 Create 操作将呈现 Create View ,然后 POST 回具有 [HttpPost] 的 Create 方法 注释。然后 TEKST 的值将作为参数发送到 Add 方法作为 RedirectToAction 并呈现 Add查看

关于c# - 将参数发送到操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10693594/

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