편집 : 그래서 내가 속성으로 TweetText 선회 하여이 문제를 해결했습니다. 여전히 남아있는 질문은 무엇입니까? 무엇이 바뀌어 이제 막 시작 되었습니까? 낸시에서 모델 바인딩을 사용하면 작동하지 않습니다. 계속 빈 문자열을 얻을
이
내가 쓰고 있어요 응용 프로그램의 일부입니다 :using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Nancy;
using Nancy.Hosting.Self;
using Nancy.ModelBinding;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
using (var host = new NancyHost(new Uri("http://localhost:8080")))
{
host.Start();
Console.ReadLine();
}
}
}
public class MyModule : NancyModule
{
public static List<Tweet> Tweets = new List<Tweet>();
public MyModule()
{
Get["/add"] = param =>
{
return View["add.html"];
};
Post["/add"] = param =>
{
var model = this.Bind<TweetModel>();
Tweets.Add(new Tweet(model.TweetText));
return this.Response.AsRedirect("/");
};
}
}
public class Tweet
{
public int id;
public string TweetText;
public DateTime date;
public Tweet(string tweet)
{
this.TweetText = tweet;
this.date = DateTime.Now;
}
}
[Serializable]
public class TweetModel {
public string TweetText;
}
}
을 여기 add.html입니다 :
<html>
<head>
<title>
Title
</title>
</head>
<body>
<form method="post" action="/add">
<input type = "text" name = "TweetText" />
<input type = "submit" value = "submit" />
</form>
</body>
</html>
여기서 문제는 상관없이 내가 무엇을하려고 즉, 모델 TweetText 텍스트 상자의 텍스트로 채워지지 않고 대신 빈 문자열로 채 웁니다. 나는 심지어 아무 쓸모가 this.Request.Forms["TweetText"]
시도했습니다. 제가 읽은 거의 모든 온라인 자원은 그것이 "효과가있다"는 것을 암시하는 것처럼 보입니다. 이것은 나를 위해 사실이 아니었다. 나는 더 많은 정보를 제공하고 싶지만 무엇이 잘못 될지 알 수는 없다. 응용 프로그램은 들어오는 요청을 기록하지 않으며 오류 메시지도 제공하지 않습니다. 솔루션에 도달하는 방법에 대한 모든 조언을 주시면 감사하겠습니다!