Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.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
Javascript 如何从C#代码隐藏更新多个div的innerhtml?_Javascript_C#_Jquery_Html_Asp.net - Fatal编程技术网

Javascript 如何从C#代码隐藏更新多个div的innerhtml?

Javascript 如何从C#代码隐藏更新多个div的innerhtml?,javascript,c#,jquery,html,asp.net,Javascript,C#,Jquery,Html,Asp.net,我成功地执行了C#函数,它使用不引人注目的方法为div的InnerHtml返回一个序列化字符串 <script> $("#btnSubmit").click(function(){ bal.innerHTML = <%=ToInternalHTML()%>; </scrtipt> 这能做到吗?如果是,如何做 页面已完成时,不能使用服务器端功能影响页面。简单地

我成功地执行了C#函数,它使用不引人注目的方法为div的
InnerHtml
返回一个序列化字符串

<script>
$("#btnSubmit").click(function(){                                   
            bal.innerHTML = <%=ToInternalHTML()%>;    
</scrtipt>

这能做到吗?如果是,如何做

页面已完成时,不能使用服务器端功能影响页面。简单地说,ASP.NET生成一个页面,将其发送到浏览器,然后忘记它

如果要在ASP.NET视图的div中填充数据,可以通过多种方式完成

在ASP.NET视图生成期间 您不需要
StringBuilder
或其他东西来形成HTML元素。使用以下方法:

foreach (DataRow row in table.Rows)
{
    <div>
        <a href="#" class="item">
            <p>row[1].ToString()</p>
        </a>
    </div>               
    /* Generate any divs here. Add any data from your table.Rows etc. */
}
foreach(table.Rows中的数据行)
{
/*在这里生成任何div。从表中添加任何数据。行等*/
}
这里有一个,已经生成。若您运行此页面,您将获得与表中行数相同的数据div数

使用Ajax。
/C#控制器
公共类MyController:Controller
{
公共行动结果索引()
{ 
返回视图();
}
公共JsonResult GetData()
{
YourEntity[]data=GetFromSomewhere();
返回新的JsonResult(数据=数据,JSONRequestBehavior=JSONRequestBehavior.AllowGet);
} 
}
//JS脚本
$(文档).ready(函数()
{
$.ajax({
url:“@url.Action(“GetData”)”,
键入:“获取”
}).完成(功能(数据){
$.each(数据,函数()
{
var yourEntity=这个;
//在这里使用DOM进行操作。更改div的内部HTML或附加它
var div=$(“”);
$(div.text)(yourEntity.Id);
$(“正文”)。追加(div);
});
});

从void函数返回字符串?您可以使用out参数。我实际上无法理解您的问题。是否要执行服务器端函数来动态更新div中的数据?这是不可能的。页面已生成,并且是静态的。您需要在视图生成期间填充数据,或者使用Ajax从JsonRe获取结果sult方法并在竞争后更新DOM。我想执行一个服务器端函数来根据某些条件更新多个div中的数据。所以我不能使用返回字符串的函数,而是一个无效函数,对吗?@aspiring服务器端函数不能影响整个页面上的任何数据。发送后它甚至不知道您的页面“我不能使用一个返回字符串的函数,但正确使用一个空函数”是什么意思?很抱歉再次询问。我只使用了ajax的极端基础知识,如updatepanel。因此,为了感谢您的回答,我必须跟进并了解这方面的知识。请允许我回去。您能告诉我如何使用您的代码编写多个div吗?在plai中,这是否可以在没有MVC结构的情况下使用,例如
controller
n webforms?
您不需要StringBuilder或其他东西来形成HTML元素。使用以下方法:
:C#code behind如何识别
标记和其他标记?我发现了一个明显的错误。我不确定ASP.NET的总体情况。我一直使用ASP.NET MVC。关于第二个问题:如果编辑
.cshtml
文件,并在ASP.NET中使用
Razor
语法,然后可以同时使用C代码和HTML代码。
foreach (DataRow row in table.Rows)
{
    <div>
        <a href="#" class="item">
            <p>row[1].ToString()</p>
        </a>
    </div>               
    /* Generate any divs here. Add any data from your table.Rows etc. */
}
// C# controller

public class MyController : Controller 
{
    public ActionResult Index()
    { 
        return View();
    }

    public JsonResult GetData()
    {
        YourEntity[] data = GetFromSomewhere();
        return new JsonResult(Data = data, JsonRequestBehaviour = JsonRequestBehaviour.AllowGet);
    } 
}

// JS script
    $(document).ready(function()
{
   $.ajax({
        url: '@Url.Action("GetData")',
        type: 'GET'  
}).done(function(data){
   $.each(data, function()
   {
       var yourEntity = this;
       // Manipulate with DOM here. Change inner HTML of div or append it
       var div = $("<div></div>");
       $(div).text(yourEntity.Id);
       $("body").append(div);
   });
});