タプル方法の最初の行で、式Regex.Match
; Parameter can not be null, Parameter name: input
がエラーを返します。 私は試しましたが、私は問題を解決できませんでした。どうすれば解決できますか?ASP.NET MVC - Regex、Error:パラメータをnullにすることはできません。パラメータ名:入力
public ActionResult Show(string idAndSlug)
{
var parts = SeperateIdAndSlug(idAndSlug);
if (parts == null)
return HttpNotFound();
var post = Database.Session.Load<Post>(parts.Item1);
if (post == null || post.IsDeleted)
return HttpNotFound();
if (!post.Slug.Equals(parts.Item2, StringComparison.CurrentCultureIgnoreCase))
return RedirectToRoutePermanent("Post", new { id = parts.Item1, slug = post.Slug });
return View(new PostsShow
{
Post = post
});
}
private Tuple<int, string> SeperateIdAndSlug(string idAndSlug)
{
var matches = Regex.Match(idAndSlug, @"^(\d+)\-(.*)?$");
if (!matches.Success)
return null;
var id = int.Parse(matches.Result("$1"));
var slug = matches.Result("$2");
return Tuple.Create(id, slug);
}
アクションメソッドで 'idAndSlug'がnullでないあなたは確かにいますか? –