根据我的理解Html.RenderPartial,ASP.NET MVC版本HTML.RenderAction中Microsoft.Web.Mvc.ViewExtensions包含的内容与MVC Futures中包含的内容之间存在很大差异.
在我的应用程序中,我有许多页面由许多"小部件"(类型)组成,每个小部件都有自己的特定功能.
在我看来,使用该RenderAction方法更合理,因为每个小部件都有一个专用控制器,负责获取不同的数据并呈现专用视图(而不是只有一个控制器和一个唯一的视图模型传递给RenderPartial帮助器来呈现视图).
从测试中我已经完成了一个指向控制器中的Create动作方法的表单,如:
<% using (Html.BeginForm("Create", "Message", FormMethod.Post,
new { id = "messageCreateForm" })) {%>
Run Code Online (Sandbox Code Playgroud)
并用它来调用它
<% Html.RenderPartial("MessageForm",new MessageDTO()); %>
Run Code Online (Sandbox Code Playgroud)
将正确呈现:
<form id="messageCreateForm" method="post" action="/Message/Create">
Run Code Online (Sandbox Code Playgroud)
但是使用相同的等价物RenderAction(因此MessageForm在控制器上使用动作方法来渲染视图)将无法正确渲染:
<% Html.RenderAction<MessageController>(m => m.MessageForm()); %>
Run Code Online (Sandbox Code Playgroud)
将呈现:
<form id="messageCreateForm" method="post" action="">
Run Code Online (Sandbox Code Playgroud)
请注意,该操作为空.
这是使用RenderAction帮助程序的正确方法吗?在这种情况下使用它是否正确?
更新:实际上将部分视图重命名为_MessageForm会正确地呈现表单.
我正在寻找一本书,可以帮助我了解Microsoft Dynamics CRM 2011 Online和On-Premise的扩展和开发.
什么书最好?
我需要在授权时获取我的 Post 参数的值。网络上的搜索者,但没有解决方案。ActionArguments计数总是显示 0 并且无法找到值ActionDescriptor.GetParameters()
这是我的代码:
POST 模型 -
public class XyzModel
{
public int Prop1 { get; set; }
public string Prop2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
自定义授权属性 -
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
protected override bool IsAuthorized(HttpActionContext actionContext)
{
bool conditions = // here I need to check value of my model (XyzModel) properties
if(conditions)
{
return true;
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
控制器中的代码 -
[HttpPost]
[CustomAuthorizeAttribute]
public IHttpActionResult MyAction(XyzModel model)
{
// my …Run Code Online (Sandbox Code Playgroud) 我需要创建一个100mm X 150mm(宽X高)的PDF文件.为了创建这个,我尝试应用以下内容:
var doc = new iTextSharp.text.Document(new Rectangle(100f, 150f));
Run Code Online (Sandbox Code Playgroud)
和
float height = 0;
float width = 0;
float.TryParse("100", out width);
float.TryParse("150", out height);
var doc = new iTextSharp.text.Document(new Rectangle(width, height));
Run Code Online (Sandbox Code Playgroud)
但上面是生成更小/更大尺寸的PDF.请分享我如何将mm转换为浮动并使其工作的建议.
我需要在用户的个人资料页面上显示 Google 地图,最终用户将添加 Google 地图 URL。为此,用户可以在 Google 上搜索位置,并可以复制 Google 提供的 Google 地图 URL 作为结果。这是最终用户获取 Google 地图 URL 的最简单方法。
在 中显示 Google 地图 URLiframe时,出现以下错误:
拒绝显示“ https://www.google.co.in/maps/place/Prince+Bijoy+Memorial+Hospital/@28.012196,73.326442,15z/data=!4m2!3m1!1s0x0:0x9e25cc2a3dc80115&output=embed在”框架,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。
这是示例网址:
我的iframe:
<iframe src="https://www.google.co.in/maps/place/Prince+Bijoy+Memorial+Hospital/@28.012196,73.326442,15z/data=!4m2!3m1!1s0x0:0x9e25cc2a3dc80115" height="800" width="800"></iframe>
Run Code Online (Sandbox Code Playgroud)
注意:我在网络上搜索了有关该问题的信息,但没有找到任何提供生成 Google 地图 URL 的简便方法的解决方案。
请分享建议。