我正在尝试使用Razor页面和ASP.NET MVC构建Web应用程序。我已经构建了与控制台应用程序相同的程序,但是无法使其用作Web应用程序。我不确定自己到底在做什么错,花了数周时间浏览教程,并多次重做。我有一种感觉,我没有正确获取表单变量或不能正确返回变量,但不确定。
我始终收到错误 RuntimeBinderException:无法对空引用执行运行时绑定,并且不确定我所缺少的内容。如果有人可以提供帮助或提出建议,我将非常感激。
型号:
public string newWriting { get; set; }
public string newWord { get; set; }
private static string _userWriting;
private string _userWord;
public int _repeatCount = 0;
&
public int ProcessCount()
{
CheckWriting(_userWriting, _userWord);
return _repeatCount;
}
public void CheckWriting(string _userWriting, string _userWord)
{
int count = 0;
string[] _userSplit = _userWriting.Split();
for(int i = 0; i < _userSplit.Length; i++)
{
if (_userSplit[i] == _userWord + "." || _userSplit[i] == _userWord + "," || _userSplit[i] == _userWord + "!" || _userSplit[i] == _userWord + "?" || _userSplit[i] == _userWord)
{
count++;
}
}
_repeatCount = count;
}
视图:表格
<h1>Add a category</h1>
<p>Add a category here:</p>
<form action="/form/result" method="post">
<label for="newWriting" name="newWriting" type="text">
<input id='newWriting' name="newWriting" type="text">
<label for="newWord" name="newWord" type="text">
<input id='newWord' name='newWord' type='text'>
<button type="submit">Add</button>
&Display(返回null的内容)
<p> You used @Model.GetUserWord() @Model.GetRepeatCount() number of times.</p>
控制器:
[HttpGet("/form/result")]
public ActionResult RepeatCount()
{
return View();
}
[HttpPost("/form/result")]
public ActionResult Create(RepeatCounter viewModel)
{
string newWriting= viewModel.newWriting;
string newWord = viewModel.newWord;
return View("RepeatCount");
}
}