还有其他方法可以从控制器返回原始HTML吗?而不是仅使用viewbag.如下:
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.HtmlOutput = "<HTML></HTML>";
return View();
}
}
@{
ViewBag.Title = "Index";
}
@Html.Raw(ViewBag.HtmlOutput)
Run Code Online (Sandbox Code Playgroud) 这是一个MVC3应用程序.我有以下javascript调用我的操作:
function editDescription(docId,fileName, fileDescription) {
$.ajax({
type: "POST",
url: "/OrderDetail/LoadModelData",
contentType: "application/json; charset=utf-8",
data: "{'id': '"+docId +"', 'filename': '"+fileName+"', 'description': '"+fileDescription+"'}",
dataType: "json",
success: function (result) {
alert("ok: "+ result.d);
},
error: function (result) {
alert('Oh no: '+ result.responseText);
}
});
Run Code Online (Sandbox Code Playgroud)
继承人我的行动:
[HttpPost]
public string LoadModelData(string id, string filename, string description)
{
return filename;
}
Run Code Online (Sandbox Code Playgroud)
我运行代码,使用参数调用操作,没有任何内容为null,但每次调用错误函数.因此每次都会出现带有"Oh no"的警告框,但是从动作返回的字符串是正确的.如果文件名是test.pdf,则错误警告框会显示
'Oh No: test.pdf'.
Run Code Online (Sandbox Code Playgroud)
我看着Firebug并没有错误.尽管没有错误,为什么不调用成功函数?
我得到了简单的网络服务应用程序:
public class MyController : Controller
{
public ActionResult balance( int amount)
{
return Proceed(a.Balance( amount));
}
}
Run Code Online (Sandbox Code Playgroud)
只是想知道为什么ActionResult使用类型作为结果。用户如何使用这种类型?为什么我不能只使用简单的字符串?
我有一个 asp.net MVC razor C# 应用程序,它有 1 个控制器和 1 个接受参数的 POST 函数。该函数返回一个 HttpResponseMessage。
public class VersionController : Controller
{
[HttpPost]
public HttpResponseMessage LatestClientVersion(string myVar)
{
string outputMessage = "This is my output";
...
var resp = new HttpResponseMessage(HttpStatusCode.OK);
resp.Content = new StringContent(outputMessage, Encoding.UTF8, "text/plain");
return resp;
}
}
Run Code Online (Sandbox Code Playgroud)
出于测试目的,我使用 Postman 向 URL 发出 POST 请求。它回应:
StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StringContent, Headers:
{
Content-Type: text/plain; charset=utf-8
}
Run Code Online (Sandbox Code Playgroud)
我的状态码响应良好,但我没有看到我的字符串“这是我的输出”
所以我想也许这与 C# 特定的东西有关,所以我做了一个 C# winforms 应用程序来测试。因此,当我单击按钮时,它会执行以下操作:
public void TestWebRequest()
{ …Run Code Online (Sandbox Code Playgroud) 我将数据从数据库序列化为JSON格式时遇到问题。我正在使用WebAPI 2和Entity Framework6。我已经用EF创建了一个模型。甚至创建具有内容的数据库和表。当我使用下面的代码时,键入http:// localhost:54149 / api / qr_group时出现错误。
控制器:
private EfContext db = new EfContext();
// GET api/<controller>
public IEnumerable<QR_Group> GetGroups()
{
var result = from g in db.QR_Groups
select g;
return result.ToList();
}
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用Newtonsoft.Json将表与JSON格式的内容序列化。
我尝试了以下代码而不是上面的代码:
public IQueryable<QR_Group> GetGroups()
{
var groupList = (from g in db.QR_Groups
select new
{
name = g.name,
code = g.code
}).AsQueryable();
var json = JsonConvert.SerializeObject(groupList);
return json; //error CS0029: Cannot implicitly convert type `string' to `System.Linq.IQueryable<RestApi.Models.QR_Group>'
}
Run Code Online (Sandbox Code Playgroud)
我收到错误CS0029。如何解决此问题以返回json中的数据?提醒一下:QR_Group实体具有3列(ID,名称,代码)
c# ×4
asp.net ×1
asp.net-mvc ×1
controller ×1
jquery ×1
json ×1
linq ×1
razor ×1
rest ×1
return ×1
web-services ×1