pass C# parameters to JS

2019-07-17 04:35发布

问题:

I have a C#-MVC project. I want to refresh the page every X second - I put in the cshtml file the code:

<script type="text/JavaScript">
   timedRefresh(X);
</script>

but I need to take X from C#, let's say it's "ViewBag.Seconds". How can I do this?

回答1:

Razor doesn't care if it's outputting HTML or javascript, so you could do:

<script type="text/JavaScript">
   timedRefresh(@(ViewBag.Seconds));
</script>


回答2:

If you are using the Razor syntax it can be done like this:

<script type="text/JavaScript">
  timedRefresh(@(ViewBag.Seconds));
</script>

The IntelliSense may report an error or warning, but it works anyway.



回答3:

It's pretty easy

<script type="text/JavaScript">
   timedRefresh(@ViewBag.Seconds);
</script>


回答4:

You can use an Action too. like this:

<script type="text/JavaScript">
   timedRefresh(@(Html.Action("Action","Controller")));
</script>