![](/img/trans.png)
[英]How to refresh data without page reloading in Asp.net core MVC using Ajax?
[英]How to refresh a div content in ASP.NET MVC 4 without page refresh and without using javascript?
Noob需要幫助)我有一個根文件夾的文件列表,我想使其成為一種文件瀏覽器,但我不想每次都刷新頁面。 這是我嘗試使其可刷新的局部視圖的代碼:
<div class="createdb">
@{
string x = null;
string[] list = Directory.GetDirectories(HostingEnvironment.ApplicationPhysicalPath);
foreach(var item in list)
{
x = item.Replace(HostingEnvironment.ApplicationPhysicalPath, "");
<div class="item"><img src="~/Img/fld.png" class="icon"/>@x</div>
}
string[] list2 = Directory.GetFiles(HostingEnvironment.ApplicationPhysicalPath);
foreach(var item in list2)
{
x = item.Replace(HostingEnvironment.ApplicationPhysicalPath, "");
<a href="@Html.Action("Refresh");"><div class="item"><img src="~/Img/file.png" class="icon"/>@x</div></a>
}
}
</div>
控制器ActionResult
僅返回視圖。 我不知道如何將另一個ActionResult
鏈接到現有視圖,只是刷新它的內容。 謝謝
您肯定需要JavaScript或JQuery或AJAX調用才能獲取此信息。因為它是在客戶端(Web瀏覽器)完成的。
您需要了解,一旦HTML在客戶端的瀏覽器中,它就是“死的”。 除非客戶端執行重新加載同一頁面(在查詢字符串或表單中使用相同或新的參數)或加載新頁面的操作,否則任何更改都無法更改瀏覽器中的HTML。
除非您使用某種客戶端腳本,例如javascript。
因此,如果要避免頁面加載,應使用javascript(使用AJAX)。
如果要避免使用javscript,則需要頁面加載/重新加載。
非常感謝你。 我已經知道在這種情況下我無法避免使用js。 我就是這樣的:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(document).on('click','.createdb a .item', function(e) {
e.preventDefault();
var link = $(this).text();
var p = $('.hid').text();
$.ajax({
url: '@Url.Action("DBView")',
type: 'post',
cache: false,
async: true,
data: { id: link, path: p },
success: function (result) {
$('.mainarea').html(result);
}
});
});
控制器看起來像這樣:
[HttpPost]
public PartialViewResult DBView(string id, string path)
{
FileManager FM = new FileManager();
FM.Path = path;
if (id != "...")
{
FM.Path = path + id + "\\";
}
else
{
FM.Path = FM.Path.Remove(FM.Path.LastIndexOf("\\"), 1);
FM.Path = FM.Path.Remove(FM.Path.LastIndexOf("\\") + 1, y - x - 1);
}
return PartialView("CreateDB", FM);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.