Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net ASP Razor:QuerySingle错误地返回相同的结果_Asp.net_Asp.net Mvc_Razor - Fatal编程技术网

Asp.net ASP Razor:QuerySingle错误地返回相同的结果

Asp.net ASP Razor:QuerySingle错误地返回相同的结果,asp.net,asp.net-mvc,razor,Asp.net,Asp.net Mvc,Razor,这段代码应定期从数据库请求数据: <script type="text/javascript"> function refreshData() { @{ var db2 = Database.Open("StarterSite"); string tresc2 = db2.QuerySingle(someQuery, 1).RoleName; <text>

这段代码应定期从数据库请求数据:

<script type="text/javascript">
    function refreshData() {
        @{
            var db2 = Database.Open("StarterSite");    
            string tresc2 = db2.QuerySingle(someQuery, 1).RoleName;


            <text>
                alert("@tresc2");

            </text>

        } 

    }
    setInterval(function() {refreshData()}, 5000);

函数refreshData(){
@{
var db2=Database.Open(“StarterSite”);
string tresc2=db2.QuerySingle(someQuery,1).RoleName;
警报(“tresc2”);
} 
}
setInterval(函数(){refreshData()},5000);

我所做的是:

  • 我运行这个代码

  • 我更改数据库中的值

  • 我希望看到数据更改后的警报
问题在于,即使警报发生更改,也会反复显示相同的值

我做错了什么


谢谢

这是因为警报永远不会改变。MVC在发出请求时将文本呈现为

alert("whatever the value is on the first attempt");  
如果在浏览器中点击view source,您将在HTML中看到它。为了实际获得新值,您必须使用一些ajax返回服务器

首先,在控制器中设置json结果:

public JsonResult GetNewResult()
{
    var db2 = Database.Open("StarterSite");    
    string tresc2 = db2.QuerySingle(someQuery, 1).RoleName;
    return this.Json(tresc2);
}
然后查询:

$.ajax({
  url: "/Controller/GetNewResult",
  context: document.body
}).done(function(data) {
  alert(data);
});

您正在执行的查询是什么?数据库表是什么样子的?