asp.net mvc 可不可以在嵌入页面时,让嵌入页面访问控制器?

d383137359 2018-08-24 11:56:04
如题,想让局部刷新,又想使用模型的方式,一个主页包含的内容比较多。分成了几个显示模型。
每个模型的填充数据处理量较大,在运行时我只想更新某一个模型的数据,其他模型不动。我希望使用@Html.Partial的另一个页面,让那个页面单独访问一个控制器是否可以?我看@Html.Partial好像所加载的页面不能访问控制器了,是引入纯html页面用。如果不希望用写大量js来实现。还有没有其他方法?

而且在asp.net mvc里有时使用@using(ajax.beginForm)有时也不是好事,不适当的插入表单刷新部局常常会破坏boostartp样式,求解答!
...全文
640 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
还想懒够 2018-09-09
  • 打赏
  • 举报
回复
@Html.Action("Action Name","Controller Name")即可实现
epui2008 2018-09-09
  • 打赏
  • 举报
回复
正儿八经 用ajax 来实现
qq_22633675 2018-09-07
  • 打赏
  • 举报
回复
引用 9 楼 qq_22633675 的回复:
MVC嵌入页面建议用分布视图

这是调用的代码
<div class="input-group">
<span class="input-group-addon">用户角色</span>
@{Html.RenderPartial(Tool.StringHelper.PartialView_AllPages_Role_List, ViewData[Tool.StringHelper.ViewData_Role_List]);}
</div>

这是被调用的分布视图代码
@model System.Collections.Generic.List<ProjectManager.Models.Role>
<select class="form-control" id="Role_List_Select" v-model="Special_Role">
<option value="0">--请选择--</option>
@foreach (ProjectManager.Models.Role obj in Model)
{
<option value="@(obj.Id)">@(obj.Role_Name)</option>
}
</select>

qq_22633675 2018-09-07
  • 打赏
  • 举报
回复
MVC嵌入页面建议用分布视图
正怒月神 版主 2018-08-24
  • 打赏
  • 举报
回复
你说的这个好像使用iframe就可以了饿
我是小数位 2018-08-24
  • 打赏
  • 举报
回复
引用 1 楼 mirror030 的回复:
这个使用AJAX,但并不需要大量JS
只需要发一个请求,得到控制器返回的页面就行,这个页面就是你想刷新的那个部分页.
,是的,如兄台所说的就好了,如 $.ajax({
type: "post",
url: "/区域/控制器名称/方法名称",
dataType: "html",
success: function (data) {
$("#要填充的DIV").html(data);
}
});当然,用你那个方法了是可以的,估计你那里写错了,这要看你的代码才知道 问题
mirrorspace 2018-08-24
  • 打赏
  • 举报
回复
这个使用AJAX,但并不需要大量JS
只需要发一个请求,得到控制器返回的页面就行,这个页面就是你想刷新的那个部分页.
我是小数位 2018-08-24
  • 打赏
  • 举报
回复
@Html.Partial 一般用于自制控件类页面,或常用功能的页面的加载,页面上用起来简单,但@Html.Partial加载的页,一样可用ajax加载啊
我是小数位 2018-08-24
  • 打赏
  • 举报
回复
引用 5 楼 d383137359 的回复:
[quote=引用 2 楼 CXJ0062008 的回复:]当然,用你那个方法了是可以的,估计你那里写错了,这要看你的代码才知道 问题


你是说用@Html.Partial引入页面时,可以让引入的页面访问控制器?返回绑定的模型来填充页面?[/quote]当然可以啊,@Html.Partial这个也是分部加载,你用ajax不是一样的吗?还是我们没理解 你的需求?
d383137359 2018-08-24
  • 打赏
  • 举报
回复
引用 3 楼 hanjun0612 的回复:
你说的这个好像使用iframe就可以了饿

时常使用<script>$("#test").load("@Url.Action("page1")");</script>嵌入页面,iframe还不常用
d383137359 2018-08-24
  • 打赏
  • 举报
回复
引用 2 楼 CXJ0062008 的回复:
当然,用你那个方法了是可以的,估计你那里写错了,这要看你的代码才知道 问题


你是说用@Html.Partial引入页面时,可以让引入的页面访问控制器?返回绑定的模型来填充页面?
d383137359 2018-08-24
  • 打赏
  • 举报
回复
引用 2 楼 CXJ0062008 的回复:
[quote=引用 1 楼 mirror030 的回复:]
这个使用AJAX,但并不需要大量JS
只需要发一个请求,得到控制器返回的页面就行,这个页面就是你想刷新的那个部分页.
,是的,如兄台所说的就好了,如 $.ajax({
type: "post",
url: "/区域/控制器名称/方法名称",
dataType: "html",
success: function (data) {
$("#要填充的DIV").html(data);
}
});当然,用你那个方法了是可以的,估计你那里写错了,这要看你的代码才知道 问题[/quote]

如果我填充的是表格呢,这就一个请求,我上面不是说了,有多个局部要更新,都不希望重复组织数据,另外我不是讨论写多少js才叫量大的问题,我是想用其他方法,比如我认为mvc 的模型绑定 比写js 更便便捷,一句js代码都不用写啊,只是不希望用$.post $.get $.ajax这种js请求方式而已
代码转载自:https://pan.quark.cn/s/11d565366452 【USB转I2C/IIC适配上位机应用程序】是一种针对I2C(Inter-Integrated Circuit)通信协议而构建的工具,其通过USB端口将个人计算机转变为能够与I2C设备进行交互的控制。该适配使开发人员与工程师能够便捷地对遵循I2C协议的芯片执行读取和写入任务,因此在硬件构建和测试阶段能够显著提升效率,对于核实I2C接口芯片的工作性能具有特别的价值。 I2C协议是由飞利浦(现NXP半导体)于1980年代初创立的一种双线式串行总线,其目的是用于连接微控制及其他外围设备。该协议仅需两条信号线(SDA - 数据线,SCL - 钟线)即可完成多设备间的通信,大幅度削减了电路板上的布线需求,从而降低了生产成本。I2C协议提供多种速度等级,涵盖标准模式(100kbps)、快速模式(400kbps)以及高速模式(3.4Mbps),旨在满足不同场景下的应用要求。 Ginkgo USB转I2C适配是这项技术的具体应用实例,它提供了一个物理接口,用于将USB端口转换为I2C端口。适配内部装配有一个微控制单元,该单元负责处理从USB到I2C的信号转换,并且通过USB线路向计算机传输信息,同接收来自计算机的指令以操控I2C总线。这种设计使用户无需具备深厚的硬件知识,仅需借助上位机软件即可实现对I2C设备的操控。 Ginkgo I2C Adapter Classic是与该适配相配套的软件,通常包含以下几项核心功能: 1. 设备识别:自动检测并建立与USB转I2C适配的连接。 2. 总线探查:扫描I2C总线上所连接的设备地址,有助于准确定位设备的位置。 3. 读写指令...
代码转载自:https://pan.quark.cn/s/4c053f9292d9 在Android应用程序的设计与实现过程中,有需要借助C或C++语言所具备的高性能特点,此就必须借助Android Studio的NDK(Native Development Kit)工具来对C/C++代码进行编译,进而生成SO(Shared Object)动态链接库文件。本篇文章将详尽阐述在Android Studio环境下如何执行这一流程。 我们首先需要掌握Android Studio项目的基本组织架构。在Android Studio的`app`文件夹内,存在一个名为`src`的子文件夹,该文件夹通常包含了`main`以及其他相关源代码目录。在`main`文件夹中,除了我们常见的`java`文件夹外,还设立了一个`jniLibs`文件夹,此文件夹专门用于存储SO文件。除此之外,还有一个`jni`文件夹,它是用来存放C/C++源代码的地方。 为了实现C/C++代码的编写与编译,我们必须在`build.gradle`文件中配置NDK的支持。打开`app/build.gradle`文件,在`defaultConfig`部分中嵌入以下内容: ```groovy externalNativeBuild { ndkBuild { path src/main/jni/Android.mk } } ``` 这段内容明确指示Android Studio去何处寻找`Android.mk`文件,该文件是一种Makefile的变体,主要用于设定编译规则和编译目标。 接下来,我们需要创建`Android.mk`文件。在这个文件中,我们将明确指定源代码文件、编译选项以及要生成的库名称。一个基础的...
内容概要:本文围绕麦克斯韦旋度方程的差分形式在平面极化磁场中的应用展开深入研究,并通过Matlab代码实现相关数值仿真。研究的核心是将经典的麦克斯韦方程组转化为适用于数值计算的有限差分格式,构建离散化数学模型,进而模拟和分析平面极化条件下磁场的空间分布特征与间演化规律。文中系统阐述了差分方法的理论基础与数学推导过程,详细说明网格划分、边界条件设定及迭代求解策略,最终利用Matlab编程实现电磁场的可视化仿真,有效验证了差分方法在求解复杂电磁场问题中的准确性与可行性。该研究不仅加深了对电磁波传播机理的理解,也为电磁件的设计优化与工程仿真提供了可靠的数值分析手段。; 适合人群:具备电磁场与电磁波理论基础,熟悉偏微分方程数值解法,且掌握Matlab编程技能的电气工程、物理学、应用数学等领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入掌握麦克斯韦旋度方程的有限差分法基本原理及其在二维平面磁场仿真中的具体实施步骤;②学习如何利用Matlab进行电磁场问题的建模、编程求解与结果可视化;③为后续开展更复杂的电磁兼容、天线设计或光子晶体等领域的数值模拟研究奠定坚实的技术基础。; 阅读建议:建议读者结合经典电磁场理论教材,透彻理解麦克斯韦方程组的物理内涵,然后循序渐进地跟进文中的差分格式推导过程,务必动手复现并调试所提供的Matlab代码,通过调整参数观察仿真结果的变化,从而深刻领悟数值方法的实质与应用技巧。

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧