如何从MVC动作控制器方法调用Web API方法.这是我正在尝试的,这是我的控制器方法:
public ActionResult ProductDetail(long id)
{
using (var client = new HttpClient())
{
var productDetailUrl = Url.RouteUrl(
"DefaultApi",
new { httproute = "", controller = "ProductDetails", id = id },
Request.Url.Scheme
);
var model = client
.GetAsync(productDetailUrl)
.Result
.Content.ReadAsAsync<ProductItems>().Result;
return View(model);
}
}
Run Code Online (Sandbox Code Playgroud)
我的Web API方法:
private ProductEntities products = new ProductEntities();
public IEnumerable<ProductItems> GetProductDetail(int ID)
{
var produc= products.ExecuteStoreQuery<ProductItems>(
"GetProductDetail @ProductID ",
new SqlParameter("@ProductID", ID));
return produc;
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我在返回数据后,在我的MVC操作方法中收到错误@ var model
"Newtonsoft.Json.JsonSerializationException:无法将JSON数组反序列化"(即[1,2,3])为"ProductDetails.Models.ProductItems"类型.反序列化类型必须是数组或实现集合接口,如IEnumerable,ICollection或IList.要强制JSON数组反序列化,请将JsonArrayAttribute添加到该类型.第1行,第1位."
任何人都可以帮我这样做...或者建议我任何其他最好的方法或纠正我,如果我在任何地方做错了...我必须在我的视图中显示返回的数据...数据应该返回给我调节器
大家好,我有这种格式的CSV文件:
**CSV Format1**
||OrderGUID||OrderItemID||Qty||SKUID||TrackingNumber||TotalWeight||DateShipped||DateDelivered||ShippingStatusId||OrderShippingAddressId
||5 ||3 ||2 ||12312||aasdasd ||24 ||2012-12-2010|| || 10025 ||10028
||5 ||4 ||3 ||113123||adadasdasd ||22 ||2012-12-2012|| ||10026 ||10028
**CSV Format2**
||"OrderGUID"||"OrderItemID"||"Qty"||"SKUID"||"TrackingNumber"||"TotalWeight"||"DateShipped"||"DateDelivered"||"ShippingStatusId"||"OrderShippingAddressId"||
||"5" ||"3" ||"2" ||"12312"||"aasdasd" ||"24" ||"2012-12-2010"||"" || "10025" ||"10028"||
||"5" ||"4" ||"3" ||"113123"||"adadasdasd" ||"22" ||"2012-12-2012"|| "2012-12-2010" ||"10026" ||"10028"||
Run Code Online (Sandbox Code Playgroud)
我必须阅读这些文件而不将它们保存在服务器上.谁能帮我?如何读取此文件并插入我的数据库?如何修剪文件中的特殊字符?
这就是我要为文件上传做的事情:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ImportTrackingNumber(FormCollection form,HttpPostedFileBase UploadedFile,TrackingNumbersModel Trackingnumbers)
{
if (UploadedFile != null)
{
var allowedExtensions = new[] {".xlsx", ".csv"};
if (UploadedFile.ContentLength > 0)
{
var extension = Path.GetExtension(UploadedFile.FileName);
if (extension == ".xlsx")
{
//Need To code …Run Code Online (Sandbox Code Playgroud) 我要传递的内容:
series: [{
name: 'Fixed bugs',
data: fixed,
pointWidth: 40
}, {
name: 'Assigned Bugs',
data:assigned,
pointWidth: 40
}, {
name: 'Re-Opened Bugs',
data: Reopened,
pointWidth: 40
},
{
name: 'Closed Bugs',
data: closed,
pointWidth: 40
}]
Run Code Online (Sandbox Code Playgroud)
到这个图表,我有这样的数据:
data: fixed=[3,5,5,8]
data:assigned=[0,1,0,0]
Run Code Online (Sandbox Code Playgroud)
并遵循.现在我想显示零值的列...对我来说它没有显示列值为零.
我有一个文件上传功能,用户可以上传文件.我想限制用户上传某些文件类型.允许的类型是:.doc,.xlsx,.txt,.jpeg.
我怎么能这样做?
这是我的实际文件上传代码:
public ActionResult UploadFile(string AttachmentName, BugModel model)
{
BugModel bug = null;
if (Session["CaptureData"] == null)
{
bug = model;
}
else
{
bug = (BugModel)Session["CaptureData"];
}
foreach (string inputTagName in Request.Files)
{
HttpPostedFileBase file1 = Request.Files[inputTagName];
if (file1.ContentLength > 0)
{
string path = "/Content/UploadedFiles/" + Path.GetFileName(file1.FileName);
string savedFileName = Path.Combine(Server.MapPath("~" + path));
file1.SaveAs(savedFileName);
BugAttachment attachment = new BugAttachment();
attachment.FileName = "~" + path.ToString();
attachment.AttachmentName = AttachmentName;
attachment.AttachmentUrl = attachment.FileName;
bug.ListFile.Add(attachment);
model = bug;
Session["CaptureData"] …Run Code Online (Sandbox Code Playgroud) 我正在尝试一种方法将数据绑定到饼图
Public ActionResult Charts
{
Highcharts chart = new Highcharts("chart")
.InitChart(new Chart { PlotShadow = false })
.SetTitle(new Title { Text = "Browser market shares at a specific website, 2010" })
.SetTooltip(new Tooltip { Formatter = "function() { return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %'; }" })
.SetPlotOptions(new PlotOptions
{
Pie = new PlotOptionsPie
{
AllowPointSelect = true,
Cursor = Cursors.Pointer,
DataLabels = new PlotOptionsPieDataLabels
{
Color = ColorTranslator.FromHtml("#000000"),
ConnectorColor = ColorTranslator.FromHtml("#000000"),
Formatter = "function() { return '<b>'+ this.point.name …Run Code Online (Sandbox Code Playgroud) 大家好我有一个fileuplaod用户可以选择多个图像我想在上传之前显示所选图像的预览...目前我管它为单个图像预览如何为所选的多个图像提供预览
function readURL(input) {
var img = $(input).closest('div').find('img').first();
var imgid=$(img).attr('id');
if (input.files && input.files[0]) {
alert(input.files);
alert(input.files[0]);
var reader = new FileReader();
reader.onload = function (e) {
$("#"+imgid)
.attr('src', e.target.result);
};
reader.readAsDataURL(input.files[0]);
}
}
<input type="file" accept="gif|jpg|jpeg|png" name="files[]" multiple onchange="readURL(this);" />
<img src="http://placehold.it/140x140" class="img-rounded" id="thumbnailimage">
Run Code Online (Sandbox Code Playgroud)
请有人帮忙吗...
highcharts ×2
bar-chart ×1
c# ×1
csv ×1
file-upload ×1
jquery ×1
json ×1
json.net ×1
pie-chart ×1
stacked ×1