小编NMa*_*hur的帖子

RenderAction RenderPartial

根据我的理解Html.RenderPartial,ASP.NET MVC版本HTML.RenderActionMicrosoft.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会正确地呈现表单.

asp.net-mvc

47
推荐指数
1
解决办法
4万
查看次数

有关Microsoft Dynamics CRM 2011开发的书籍

我正在寻找一本书,可以帮助我了解Microsoft Dynamics CRM 2011 Online和On-Premise的扩展和开发.

什么书最好?

dynamics-crm-2011

5
推荐指数
1
解决办法
2516
查看次数

如何在 AuthorizeAttribute ASP.NET Web.API MVC 5 的 IsAuthorized 上获取 Post 参数

我需要在授权时获取我的 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)

c# asp.net asp.net-mvc asp.net-web-api2

3
推荐指数
1
解决办法
4391
查看次数

如何传递Millimeter中可用的矩形大小以使用iTextsharp创建Docment

我需要创建一个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转换为浮动并使其工作的建议.

c# itext

2
推荐指数
1
解决办法
5504
查看次数

避免“拒绝显示到‘SAMEORIGIN’ www.google.co.in/maps/place/”的替代解决方案

我需要在用户的个人资料页面上显示 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”。

这是示例网址:

https://www.google.co.in/maps/place/Prince+Bijoy+Memorial+Hospital/@28.012196,73.326442,15z/data=!4m2!3m1!1s0x0:0x9e25cc2a3dc80115

我的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 的简便方法的解决方案。

请分享建议。

iframe google-maps

2
推荐指数
1
解决办法
6332
查看次数