Почему «IsPost» и «AsPost» подчеркнуты красным? - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь запрограммировать запрос к базе данных, но всегда есть красная линия под «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 # Имя не существует в текущем контексте», то есть указанный код ошибки.

1 Ответ

0 голосов
/ 19 февраля 2019

Непонятно, почему вы хотите знать, является ли запрос 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>
}
...