Javascript 如何从C#代码隐藏更新多个div的innerhtml?
我成功地执行了C#函数,它使用不引人注目的方法为div的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> 这能做到吗?如果是,如何做 页面已完成时,不能使用服务器端功能影响页面。简单地
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);
});
});