第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何將數(shù)據(jù)從控制器傳遞到 Blazor 上的視圖?

如何將數(shù)據(jù)從控制器傳遞到 Blazor 上的視圖?

C#
搖曳的薔薇 2023-07-09 15:10:04
我嘗試使用 Blazor(服務(wù)器端)創(chuàng)建一個(gè)項(xiàng)目并將視圖創(chuàng)建為 .razor,并且還添加了控制器。如何將數(shù)據(jù)從控制器傳遞到視圖 .razor ?我想我可以在控制器中創(chuàng)建一個(gè)公共變量,這將是控制器和.razor 的交互。但我不知道代碼I want get var u to the view//Controller[HttpPost("[action]")]public void Save(IList<IFormFile> UploadFiles){    var u = UploadFiles.FirstOrDefault().FileName;    long size = 0;    size = SaveUploadedFiles(UploadFiles, size);}//View<EjsUploader ID="UploadFiles">  <UploaderAsyncSettings SaveUrl="api/Save" RemoveUrl="api/Remove"></UploaderAsyncSettings></EjsUploader>
查看完整描述

1 回答

?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

此處支持同步融合。


您可以使用“Headers”或“ReasonPhrase”將數(shù)據(jù)從控制器傳遞到成功事件中的視圖,如下面的代碼示例中所述。


[示例數(shù)據(jù)控制器.cs]



public void Save(IList<IFormFile> UploadFiles)

? ? ? ? {

? ? ? ? ? ? long size = 0;

? ? ? ? ? ? try

? ? ? ? ? ? {

? ? ? ? ? ? ? ? foreach (var file in UploadFiles)

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? var filename = ContentDispositionHeaderValue

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .Parse(file.ContentDisposition)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .FileName

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .Trim('"');

? ? ? ? ? ? ? ? ? ? filename = hostingEnv.ContentRootPath.Replace("WebApplication6.Server", "WebApplication6.Client") + $@"\{filename}";

? ? ? ? ? ? ? ? ? ? size += (int)file.Length;

? ? ? ? ? ? ? ? ? ? if (!System.IO.File.Exists(filename))

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? using (FileStream fs = System.IO.File.Create(filename))

? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? file.CopyTo(fs);

? ? ? ? ? ? ? ? ? ? ? ? ? ? fs.Flush();

? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? Response.Headers.Add("custom-header", "Syncfusion");

? ? ? ? ? ? ? ? Response.HttpContext.Features.Get<IHttpResponseFeature>().ReasonPhrase = "Syncfusion Upload";

? ? ? ? ? ? }

? ? ? ? ? ? catch (Exception e)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? Response.Clear();

? ? ? ? ? ? ? ? Response.StatusCode = 204;

? ? ? ? ? ? ? ? Response.HttpContext.Features.Get<IHttpResponseFeature>().ReasonPhrase = "File failed to upload";

? ? ? ? ? ? ? ? Response.HttpContext.Features.Get<IHttpResponseFeature>().ReasonPhrase = e.Message;

? ? ? ? ? ? }

? ? ? ? }

[索引.剃刀]



@using Newtonsoft.Json;

@using Newtonsoft.Json.Converters;


<EjsUploader Id="UploadFiles" AutoUpload="true" Success="@OnSuccess">

? ? <UploaderAsyncSettings SaveUrl="api/SampleData/Save" RemoveUrl="api/SampleData/Remove"></UploaderAsyncSettings>

</EjsUploader>

<p>Additional Header Text is: @HeaderData</p>

<p>Additional Response Data is: @ResponseData</p>


@code{

public string HeaderData;


public string ResponseData;


public void OnSuccess(object args)

{


? ? SuccessEventArgs eventArgs = JsonConvert.DeserializeObject<SuccessEventArgs>(args.ToString());

? ? HeaderData = eventArgs.Response.Headers;

? ? ResponseData = eventArgs.Response.StatusText;

? ? this.StateHasChanged();

}

//Success event args class.

public class SuccessEventArgs

{

? ? public object E { get; set; }

? ? public FileInfo File { get; set; }

? ? public string StatusText { get; set; }

? ? public string Name { get; set; }

? ? public string Operation { get; set; }

? ? public ResponseEventArgs Response { get; set; }

}


public class ResponseEventArgs

{

? ? public string Headers { get; set; }

? ? public object ReadyState { get; set; }

? ? public object StatusCode { get; set; }

? ? public string StatusText { get; set; }

? ? public bool withCredentials { get; set; }

}

}



And, you need to enable the allow header option in the Startup.cs file as mentioned in the below code example.



? public void ConfigureServices(IServiceCollection services)

? ? ? ? {

? ? ? ? ? ? services.AddMvc().AddNewtonsoftJson();

? ? ? ? ? ? services.AddResponseCompression(opts =>

? ? ? ? ? ? {

? ? ? ? ? ? ? ? opts.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(

? ? ? ? ? ? ? ? ? ? new[] { "application/octet-stream" });

? ? ? ? ? ? });

? ? ? ? ? ? services.AddCors(options =>

? ? ? ? ? ? {

? ? ? ? ? ? ? ? options.AddPolicy("EnableCORS", builder =>

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? builder.AllowAnyOrigin().AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().AllowCredentials().Build();

? ? ? ? ? ? ? ? });

? ? ? ? ? ? });

? ? ? ? }


查看完整回答
反對(duì) 回復(fù) 2023-07-09
  • 1 回答
  • 0 關(guān)注
  • 130 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)