Home > Net >  The name 'isPost' does not exist in the current context (ASP.NET with Razor)
The name 'isPost' does not exist in the current context (ASP.NET with Razor)

Time:05-30

I'm trying to follow the Microsoft Docs on getting started with Razor. When I try to implement the following code I get the errors detailed in the comments:

Solution/Project/Pages/AddNumbers.cshtml :

@{
    var total = 0;
    var totalMessage = "";
    if(IsPost) { // The name 'isPost' does not exist in the current context

        // Retrieve the numbers that the user entered.
        var num1 = Request["text1"]; // CS0103  The name 'Request' does not exist in the current context
        var num2 = Request["text2"]; // CS0103  The name 'Request' does not exist in the current context

        // Convert the entered strings into integers numbers and add.
        total = num1.AsInt()   num2.AsInt();
        totalMessage = "Total = "   total;
    }
}

I think I've followed the instructions faithfully, but can't think where I've made an error. What's the fix?

CodePudding user response:

IsPost does not exist if you do not create it. You can create such a property, defaulting to false and setting it to true in your OnPost handler.

Similarly, you cannot refer to Request like you tried in your code, you need a property for that too.

Since num1 and num2 were not successfully initialized, they cannot be successfully converted to int either.

CodePudding user response:

I think the problem is that the documentation I was following is for "ASP.NET Web Pages (Razor) 3", but I was trying to run the code on "ASP.NET Core Web App".

As Lajos Arpad pointed out, I would need to create my own isPost property .

  • Related