我的项目使用 Castle Monorail 作为 MVC 框架。问题是 Monorail 要求所有控制器都有一个视图模板。我正在尝试通过 AJAX 调用从控制器上的方法中获取字符串。AJAX GET 总是从服务器返回 500 错误,因为 Monorail 找不到视图模板。我已经看到了其他解决方法的示例,在这些示例中,您只需将控制器方法的返回类型设置为 void(这表明 monorail 不会费心寻找视图控制器),然后执行以下操作:
Context.Response.OutputStream.Write(buffer, 0, buffer.Length);
只需将上下文写入屏幕。
所以我有以下方法,并试图通过 Jquery AJAX GET 获取返回字符串。有人可以帮忙吗?
public void Note(string id)
{
if (!string.IsNullOrEmpty(id))
{
if (notesProvider.HasNote(id))
{
return "{status:'200', text: '" + notesProvider.GetNote(id).Body + "'}";
}
else return "{status:'404', text: 'Could not find the Note by provided id [" + id + "]'}";
}
else return "{status:'500', text: 'Illegal request : a note id must be provided'}";
}
}
我应该如何使这个返回无效并通过 HTTPCONtext 读取返回值?