我試圖製作一個數字標牌網站,它將在我公司的電視屏幕上運行。我的想法是使用MVC使分割表示層和數據層相當容易。我需要一個顯示各種頁面的網站 - 其中一些網站會顯示谷歌風格的儀表板控件,例如量表和表格,一些公告以及一個新聞自動收錄器,當頁面翻轉和翻轉時,會沿着底部爬行。問題是我對MVC不太熟悉。MVC5:數字標牌網站
我一直有很多問題,得到一個網站,將切換到一個新的一頁,每5或10秒。我很困惑如何使用佈局頁面,部分視圖和回調控制器。我一直在爲此工作四天,所以我有大量的代碼,但我不想把它全部粘貼在這裏。
正好與我都試過了基礎(我會離開了樣板的東西,如頭元素的東西在那裏我沒有做什麼特別的東西):
_ViewStart
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
_layout
<div class="container body-content">
@RenderBody()
</div>
<footer>
<hr />
<marquee behavior="scroll" direction="left"><img src="http://www.html.am/images/html-codes/marquees/fish-swimming.gif" width="94" height="88" alt="Swimming fish" /></marquee>
<p>© @DateTime.Now.Year - My ASP.NET Application</p>
</footer>
Company1_Layou牛逼
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<body class="greybackground container">
<header>
<img src="~/images/homesafetymatters_header.png" alt="Home Safety Matters"/>
</header>
<div class="container body-content" style="height:100%">
@RenderBody()
</div>
首頁 (這是我試圖啓動該網站,然後開始調用新的頁面出現)
@model DigitalSignsPages.Models.Home
@{
ViewBag.Title = "Home";
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
</head>
<body>
<h2>Welcome to Digital Signage v2.0</h2>
<script>
window.setInterval(yourfunction, 5000);
function yourfunction() {
$.ajax({
url: '/Gauge/GoToHSMGauge',
data: { id: 1 },
success: function() {
console.log('Added');
}
});
}
</script>
GaugeController
public ActionResult GoToBrooksGauge(int id)
{
decimal answer = repository.GetGaugeData("001", 1);
ViewBag.Title = "Gauge";
ViewBag.Pct = answer;
return View("HSMGauge");
}
問題我一直有 我是想直接在我的javascript函數調用的動作,以及諸如此類的工作,但它似乎直接在通話後沖洗所有的HTML頁面,以便會有一些結尾括號和分號等。我想我必須使用AJAX來調用控制器的動作方法,事實上,我的控制器中的斷點每5秒就會被擊中一次,但沒有任何反應。否否顯示視圖。
我想我必須指定一個區域,讓新的視圖出現,像a,然後我調用$(「#foo」)......什麼?加載或HTML?我不確定,似乎也沒有做任何事情。但似乎我應該使用渲染操作,但我不確定是否應該使用RenderPartial()...不會使它成爲Home.cshtml頁面的一部分嗎?我想要出現一個新頁面HSMGauge.cshtml。
此外,我試着在_Layout頁面中放置計時器,然後保留一個可以傳遞給控制器的JavaScript變量,但似乎有問題,因爲我會得到一個錯誤,該變量是當我這樣做的時候超出了範圍。所以現在我的想法是讓Home.cshtml啓動站點,然後當每個控制器中的操作方法被調用時,它返回一個打開的特定視圖。但正如我所說的,當控制器中的動作被調用時,什麼都不會發生。沒有錯誤,只是沒有。
基本上,如果有人有時間或精力,他們能指出我做錯的一些事情,一些很好的例子或網站教我如何做到這一點,我一直沒有找到與谷歌,或者只是告訴我,我正在用MVC咆哮錯誤的樹?
謝謝,這是很好的建議。我猜想事情太複雜了。有人建議我使用MVC,但這可能不是我嘗試做的最好的框架。我喜歡Angular到目前爲止所看到的。 – Pete
你當然可以結合我們所做的MVC和Angular。不過,我認爲只是WebAPI可能會讓生活變得更簡單。之後,您還將擁有定義良好的API,供將來移動應用程序,客戶或任何其他人使用 – GraemeMiller