在ASP.NET中为html src语句调用C#方法(输出字符串)

时间:2016-05-31 10:44:52

标签: javascript c# html asp.net razor

我已经创建了一些C#方法,我想将它用作我的ASP.NET项目的参考。

该方法给我一个字符串作为输出。字符串的示例: “C:/tracks/audio1.mp3”

现在我尝试使用我的方法“GetTrackPath()”作为我的html音频标签。 简单 - >我想在我的

中输出方法

我怎么能意识到它?

添加代码

<audio id="a1" preload="auto" controls>
   <source src="GetTrackPath()">
<audio>

现在我想将字符串放入html src标签。

2 个答案:

答案 0 :(得分:2)

您可以创建一个viewmodel并在View中使用它:

namespace MyProject.MyNameSpace

public class AudioTrackVM
{
   public string Id { get; set; }
   public string Preload { get; set; }
   public string Src { get; set; }
}

在控制器中,您可以添加:

public ActionResult Index()
{
   var model = new List<AudioTrackVM>()  // this is stub, get data from data source instead
   {
      new AudioTrackVM() { Id = "a1", Preload = "auto", Src = @"C:/tracks/audio1.mp3" },
      new AudioTrackVM() { Id = "a2", Preload = "auto", Src = @"C:/tracks/audio2.mp3" }
   };
   return View(model);
}

现在是时候使用这个Viewmodel了:

@model List<MyProject.MyNameSpace.AudioTrackVM>

@foreach(var audio in Model)
{
   <audio id="@audio.Id" preload="@audio.Preload" controls>
      <source src="@audio.Src">
   <audio>
}

答案 1 :(得分:0)

您可以使用代码标记

在你的aspx中写这个

<audio id="a1" preload="auto" controls>
   <source src="GetTrackPath()">
<audio>

在aspx.cs中编写此方法

public string GetTrackPath()
{
    return @"C:/tracks/audio1.mp3";
}