我正在尝试对数据库查询进行编程,但是在“ IsPost”和“ AsPost”下方始终有红线。 我需要怎么做才能使其正常工作?
感谢您的帮助:)
@page
@model AboutModel
@{
ViewData["Title"] = "Datenverzeichnis";
}
<h2>@ViewData["Title"]</h2>
<form method="post">
@{
if (IsPost)
{
string materialnumber = Request.Form["materialnumber"];
int serialnumber = Request.Form["serialnumber"].AsInt();
<text>
You entered: <br />
Material Number: @materialnumber <br />
Serial Number: @serialnumber <br />
</text>
}
}
<p>
<div>
<label for="text">Materialnummer</label>
<input type="text" id="matn">
<label for="text">ID</label>
<input type="text" id="id">
</div>
<div>
<input type="submit" value="Bestätigen" class="submit" />
<button type="button" id="clear"
onclick="document.getElementById('matn').value = '';
document.getElementById('id').value = ''">
Löschen
</button>
</div>
</p>
@{
<table>
<thead>
<tr>
<td width="5%">MaterialNumber</td>
<td width="5%">SerialNumber</td>
<td width="10%">Source</td>
<td width="30%">Name</td>
<td width="10%">Status</td>
<td width="20%">URL</td>
</tr>
</thead>
<tbody>
@{
foreach (var deviceInfo in Model.DeviceInfos)
{
<tr>
<td>@deviceInfo.MaterialNumber</td>
<td>@deviceInfo.SerialNumber</td>
<td>@deviceInfo.Source</td>
<td>@deviceInfo.Name</td>
<td>@deviceInfo.Status</td>
<td>@deviceInfo.Url</td>
</tr>
}
}
</tbody>
</table>
}
</form>
那是带有完整代码的更新版本。我希望您可以这样解决。 显示的错误代码“ CS0103 C#名称在当前上下文中不存在”。
答案 0 :(得分:0)
目前尚不清楚为什么要在实际视图中知道请求是否为POST。您可以使用HttpContext.Request.Method
。以下代码可能对您有用:
if (this.Context.Request.Method == "POST")
{
string materialnumber = this.Context.Request.Form["materialnumber"];
string serialnumber = this.Context.Request.Form["serialnumber"];
<text>
You entered: <br />
Material Number: @materialnumber <br />
Serial Number: @serialnumber <br />
</text>
}
另一种方法是在发布控制器时在控制器中设置一个值。这样的事情可能会起作用:
[HttpPost] // --> this is a POST request
public IActionResult MyAction()
{
ViewBag.IsPost = true;
return View();
}
然后在您看来:
if (ViewBag.IsPost)
{
string materialnumber = Request.Form["materialnumber"];
string serialnumber = Request.Form["serialnumber"];
<text>
You entered: <br />
Material Number: @materialnumber <br />
Serial Number: @serialnumber <br />
</text>
}