<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input type="text" name="like" value="" />
        <br />
        <input type="text" name="like" value="" />
        <br />
        <input type="text" name="like" value="" />
        <br />
        <input type="submit" value="提交" />
    </div>
    </form>
</body>
</html>
namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string like = Request.Form["like"];
      string[] arr = like.Split(',');
        }
    }
}要求:
比如我数据库有一个字段叫like他可以让用户输入三串(这个可能是不定的这里比喻为三串)字符,
然后用户在前台输入后POST过来我进行接收
开始的时候我是用上面的方法,但是这样有个问题,当用户输入的字符串中有","的时候这里就会出错了
因为POST过来的数据同一个name他是用","进行相连的,
因为没有做过asp所以问一下大家这个东西要怎么来处理因为一直都是从事asp.net webform开发,所以对原来网页的post方法不是很了解
如果是用webform的方法的话我这里就会进行绑定的方法,然后后台循环控件得出值

解决方案 »

  1.   

    post时候是分开成3个同名参数传递的,所以后台系统有办法把它们区分开
    如果其中有逗号,传递的形式如:
    like=aaaaaaaa%2Cbbbbbbbb&like=ccccccc%2Cddddddd&like=eeeeee%2Cffff
    %2C 是逗号的编码形式用 string[] like = Request.Form.GetValues("like"); 可以取到一个长度为3字符串数组:
    like[0]: "aaaaaaaa,bbbbbbbb"
    like[1]: "ccccccc,ddddddd"
    like[2]: "eeeeee,ffff"
      

  2.   

    string[]  arr=Request.Form.GetValues("like");   
    再使用split分割