Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 收集变量并缩短代码_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# 收集变量并缩短代码

C# 收集变量并缩短代码,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我正在做一个项目,在那里我必须比较房间彼此和打印,如果有一个房间的变化 我在那里做的这段代码运行良好。但是代码真的很难看,我想优化代码。有没有一种方法可以将变量收集在一起,这样我就没有14行变量了?也许我以后必须使用变量,所以我不想内联变量 <th class="callout-inner secondary no-changes-reservation-bgcolor"> <h5>Reservationsnummer:</h5> @

我正在做一个项目,在那里我必须比较房间彼此和打印,如果有一个房间的变化

我在那里做的这段代码运行良好。但是代码真的很难看,我想优化代码。有没有一种方法可以将变量收集在一起,这样我就没有14行变量了?也许我以后必须使用变量,所以我不想内联变量

<th class="callout-inner secondary no-changes-reservation-bgcolor">
    <h5>Reservationsnummer:</h5>

        @{
            var orderfirstName = Model.Order.FirstName.ToString();
            var order2firstName = Model.Order2.FirstName.ToString();
            var orderlastName = Model.Order.LastName.ToString();
            var order2lastName = Model.Order2.LastName.ToString();
            var orderaddress = Model.Order.Address.ToString();
            var order2address = Model.Order2.Address.ToString();
            var orderpostCode = Model.Order.PostCode.ToString();
            var order2postCode = Model.Order2.PostCode.ToString();
            var orderCity = Model.Order.City.ToString();
            var order2City = Model.Order2.City.ToString();
            var orderPhone = Model.Order.Phone.ToString();
            var order2Phone = Model.Order2.Phone.ToString();
            var orderEmail = Model.Order.Email.ToString();
            var order2Email = Model.Order2.Email.ToString();
        }
        <table align="center" class="wrapper header float-center">
            <tr>
                <td class="wrapper-inner background-color__yellow">
                    <span>
                        @renderOrderPropertyBlock("Fornavn", orderfirstName, order2firstName)
                        <br />
                        @renderOrderPropertyBlock("Efternavn", orderlastName, order2lastName)
                        <br />
                        @renderOrderPropertyBlock("Adresse", orderaddress, order2address)
                        <br />
                        @renderOrderPropertyBlock("Postnummer", orderpostCode, order2postCode)
                        <br />
                        @renderOrderPropertyBlock("City", orderCity, order2City)
                        <br />
                        @renderOrderPropertyBlock("Phone", orderPhone, order2Phone)
                        <br />
                        @renderOrderPropertyBlock("Email", orderEmail, order2Email)
                    </span>
                </td>
            </tr>
        </table>
     </th>

预订联系人:
@{
var orderfirstName=Model.Order.FirstName.ToString();
var order2firstName=Model.Order2.FirstName.ToString();
var orderastname=Model.Order.LastName.ToString();
var order2lastName=Model.Order2.LastName.ToString();
var orderaddress=Model.Order.Address.ToString();
var order2address=Model.Order2.Address.ToString();
var orderpostCode=Model.Order.PostCode.ToString();
var order2postCode=Model.Order2.PostCode.ToString();
var orderCity=Model.Order.City.ToString();
var order2City=Model.Order2.City.ToString();
var orderPhone=Model.Order.Phone.ToString();
var order2Phone=Model.Order2.Phone.ToString();
var orderEmail=Model.Order.Email.ToString();
var order2Email=Model.Order2.Email.ToString();
}
@RenderRoderPropertyBlock(“Fornavn”、orderfirstName、order2firstName)

@RenderRoderPropertyBlock(“Efternavn”、orderlastName、order2lastName)
@RenderRoderPropertyBlock(“地址”、orderaddress、order2address)
@RenderRoderPropertyBlock(“Postnummer”、orderpostCode、order2postCode)
@RenderRoderPropertyBlock(“城市”、orderCity、order2City)
@RenderRoderPropertyBlock(“电话”、orderPhone、order2Phone)
@RenderRoderPropertyBlock(“电子邮件”、orderEmail、order2Email)
您不必定义这些变量,只需将属性值传递给html助手即可:

@renderOrderPropertyBlock("Fornavn", Model.Order.FirstName.ToString(), Model.Order2.FirstName.ToString())

您也可以使用反射遍历属性,但代码的执行速度会慢得多。

您不必定义这些变量,只需将属性值传递给html助手即可:

@renderOrderPropertyBlock("Fornavn", Model.Order.FirstName.ToString(), Model.Order2.FirstName.ToString())
您也可以使用反射遍历属性,但代码的执行速度会慢得多。

您可以这样做:

@{
     var order1 = Model.Order;
     var order2 = Model.Order2;
}
在你的跨度内:

<span>
      @renderOrderPropertyBlock("Fornavn", order1.FirstName.ToString(), order2.FirstName.ToString())
      <br />

// and so on ...

</span>

@RenderRoderPropertyBlock(“Fornavn”,order1.FirstName.ToString(),order2.FirstName.ToString())

//等等。。。
您可以这样做:

@{
     var order1 = Model.Order;
     var order2 = Model.Order2;
}
在你的跨度内:

<span>
      @renderOrderPropertyBlock("Fornavn", order1.FirstName.ToString(), order2.FirstName.ToString())
      <br />

// and so on ...

</span>

@RenderRoderPropertyBlock(“Fornavn”,order1.FirstName.ToString(),order2.FirstName.ToString())

//等等。。。
所有的
ToString
调用是怎么回事?这些属性是否还没有strngs?只要(a)您的代码按预期工作,(b)您的代码是真实代码,而不是示例代码,以及(c)您的代码包含在问题主体中,这个问题就可能适用。如果您希望通过同行评审来改进代码的各个方面,请将其发布在代码评审上。所有的
ToString
调用是怎么回事?这些属性是否还没有strngs?只要(a)您的代码按预期工作,(b)您的代码是真实代码,而不是示例代码,以及(c)您的代码包含在问题主体中,这个问题就可能适用。如果您希望通过同行评审来改进代码的各个方面,请将其发布在代码评审上。有趣的是,这被接受为答案,因为OP声明“我不想内联变量”…是的,对不起。我可以看出,我可以以任何方式内联变量。有趣的是,这被接受为答案,因为OP声明“我不想内联变量”…是的,对不起。我可以看出,我可以以任何方式内联变量。